Returns a pointer to the caller’s I/O stack location in a given IRP.
Returns a pointer to the next-lower-level driver’s I/O stack location in a given IRP.
Returns a pointer to the device object represented by a given file object.
Returns the value of the function field within a given IOCTL_XXX or FSCTL_XXX.
Registers a driver-supplied IoCompletion routine with a given IRP, so the IoCompletion routine is called when the next-lower-level driver has completed the requested operation in one or more of the following ways: successfully, with an error, and/or by cancelling the IRP.
Sends an IRP to a lower-level driver.
Marks a given IRP indicating that STATUS_PENDING was returned because further processing is required by another driver routine or by a lower-level driver.
Calls the driver’s StartIo routine with the given IRP for the given device object or inserts the IRP into the device queue if the device is already busy, specifying whether the IRP is cancelable.
Synchronizes cancelable-state transitions for IRPs in a multiprocessor-safe manner.
Sets or clears the Cancel routine in an IRP. Setting a Cancel routine makes an IRP cancelable.
Releases the cancel spin lock when the driver has changed the cancelable state of an IRP or releases the cancel spin lock from the driver’s Cancel routine.
Marks an IRP as cancelled.
Returns a list of partitions on a disk with a given sector size.
Sets the partition type and number for a (disk) partition.
Writes partition tables for a disk, given the device object representing the disk, the sector size, and a pointer to a buffer containing the drive geometry.
Allocates and initializes an error log packet; returns a pointer so the caller can supply error-log data and call IoWriteErrorLogEntry with the packet.
Queues a previously allocated error log packet, filled in by the driver, to the system error logging thread.
Returns a Boolean indicating whether an I/O request failed due to one of the following conditions: STATUS_IO_TIMEOUT, STATUS_DEVICE_NOT_READY, STATUS_UNRECOGNIZED_MEDIA, STATUS_VERIFY_REQUIRED, STATUS_WRONG_VOLUME, STATUS_MEDIA_WRITE_PROTECTED, or STATUS_NO_MEDIA_IN_DEVICE. If the result is TRUE, a removable-media driver must call IoSetHardErrorOrVerifyDevice before completing the IRP.
Supplies the device object for which the given IRP was failed due to a user-induced error, such as supplying the incorrect media for the requested operation or changing the media before the requested operation was completed. A file system driver uses the associated device object to send a popup to the user, who can then correct the error and/or retry the operation.
Returns a pointer to the device object, representing a removable-media device, that is the target of the given thread’s I/O request. (This routine is useful only to file systems or other highest-level drivers.)
Causes a popup to be sent to the user indicating that the given IRP was failed on the given device object for an optional VPB, so that the user can correct the error and/or can retry the operation.
Causes a popup to be sent to the user, showing an I/O error status and optional string supplying more information.
Raises an error status so that a caller-supplied structured exception handler is called. (This routine is useful only to highest-level drivers that supply exception handlers, in particular to file systems.)
Dequeues the next IRP for a given device object, specifying whether the IRP is cancelable, and calls the driver’s StartIo routine.
Dequeues the next IRP, according to the specified sort-key value, for a given device object, specifies whether the IRP is cancelable, and calls the driver’s StartIo routine.
Completes an I/O request, giving a priority boost to the original caller and returning a given IRP to the I/O system for disposal: either to call any IoCompletion routines supplied by higher-level drivers, or to return status to the original requestor of the operation.
Returns a pointer to the current process. (This routine is useful only to highest-level drivers.)
Returns the initial base address of the current thread’s stack. (This routine is useful only to highest-level drivers.)