EvtIoDefault

A driver's EvtIoDefault event callback function processes a specified I/O request.

構文

EVT_WDF_IO_QUEUE_IO_DEFAULT EvtIoDefault;

VOID EvtIoDefault(
  __in  WDFQUEUE Queue,
  __in  WDFREQUEST Request
)
{ ... }

パラメーター

Queue [in]

A handle to the framework queue object that is associated with the I/O request.

Request [in]

A handle to a framework request object.

戻り値

None

解説

A driver registers an EvtIoDefault callback function when it calls WdfIoQueueCreate. For more information about calling WdfIoQueueCreate, see Creating I/O Queues.

If a driver has registered an EvtIoDefault callback function for a device's I/O queue, the callback function receives every I/O request from the queue, unless request-specific callback functions have also been registered. For more information about request-specific callback functions, see Request Handlers.

A driver's EvtIoDefault callback function can also receive file creation requests. For more information about receiving file creation requests, see Framework File Objects.

The EvtIoDefault callback function must process each received I/O request in some manner. For more information, see Processing I/O Requests.

Most I/O operations require an input buffer, an output buffer, or both. For information about how the driver can access a request's buffers, 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 your driver is at the top of its driver stack, the callback function is called at IRQL = PASSIVE_LEVEL.)

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.

The function type is declared in Wdfio.h, as follows.

typedef VOID
  (EVT_WDF_IO_QUEUE_IO_DEFAULT) (
    IN WDFQUEUE  Queue,
    IN WDFREQUEST  Request
    );

To define an EvtIoDefault callback function that is named MyIoDefault, you must first provide a function declaration that SDV and other verification tools require, as follows:

EVT_WDF_IO_QUEUE_IO_DEFAULT  MyIoDefault;

Then, implement your callback function as follows:

VOID
 MyIoDefault (
 IN WDFQUEUE  Queue,
    IN WDFREQUEST  Request,
    )
  {...}

要件

バージョン

Supported by version 1.0 and later versions of KMDF.

ヘッダー

Wdfio.h (includeWdf.h)

IRQL

<= DISPATCH_LEVEL (see Remarks section)

参照

WdfIoQueueCreate
WDF_OBJECT_ATTRIBUTES
EvtIoDeviceControl
EvtIoInternalDeviceControl
EvtIoRead
EvtIoWrite

 

 

コミュニティの追加

追加
表示:
© 2015 Microsoft