EVT_WDF_IO_QUEUE_IO_WRITE callback function (wdfio.h)
[Applies to KMDF and UMDF]
A driver's EvtIoWrite event callback function processes a specified write request.
Syntax
EVT_WDF_IO_QUEUE_IO_WRITE EvtWdfIoQueueIoWrite;
void EvtWdfIoQueueIoWrite(
[in] WDFQUEUE Queue,
[in] WDFREQUEST Request,
[in] size_t Length
)
{...}
Parameters
[in] Queue
A handle to the framework queue object that is associated with the I/O request.
[in] Request
A handle to a framework request object.
[in] Length
The number of bytes to be written.
Return value
None
Remarks
A driver registers an EvtIoWrite callback function when it calls WdfIoQueueCreate. For more information about calling WdfIoQueueCreate, see Creating I/O Queues.
If a driver has registered an EvtIoWrite callback function for a device's I/O queue, the callback function receives every write request from the queue. For more information, see Request Handlers.
The EvtIoWrite callback function must process each received I/O request in some manner. For more information, see Processing I/O Requests.
Write requests require an input buffer, which contains data that the driver receives. For information about how the driver can access a write request's buffer, see Accessing Data Buffers in Framework-Based Drivers.
This callback function can be called at IRQL <= DISPATCH_LEVEL, unless the ExecutionLevel member of the device or driver's WDF_OBJECT_ATTRIBUTES structure is set to WdfExecutionLevelPassive.
If the IRQL is PASSIVE_LEVEL, the framework calls the callback function within a critical region.
For more information about IRQL levels for request handlers, see Using Automatic Synchronization.
A driver's EvtIoWrite callback function should not call the following queue object methods:
Requirements
Requirement | Value |
---|---|
Target Platform | Universal |
Minimum KMDF version | 1.0 |
Minimum UMDF version | 2.0 |
Header | wdfio.h (include Wdf.h) |
IRQL | <= DISPATCH_LEVEL (see Remarks section) |