WdfDeviceConfigureRequestDispatching 函式 (wdfdevice.h)
[適用於 KMDF 和 UMDF]
WdfDeviceConfigureRequestDispatching 方法會導致架構將指定的 I/O 要求類型排入佇列至指定的 I/O 佇列。
語法
NTSTATUS WdfDeviceConfigureRequestDispatching(
[in] WDFDEVICE Device,
[in] WDFQUEUE Queue,
[in] WDF_REQUEST_TYPE RequestType
);
參數
[in] Device
提供架構裝置物件的句柄。
[in] Queue
提供架構佇列物件的句柄。
[in] RequestType
提供 WDF_REQUEST_TYPE型別列舉值,識別要排入佇列的要求類型。 唯一有效的列舉值包括:
WdfRequestTypeCreate
WdfRequestTypeRead
WdfRequestTypeWrite
WdfRequestTypeDeviceControl
WdfRequestTypeDeviceControlInternal
傳回值
如果作業成功,方法會傳回STATUS_SUCCESS。 其他傳回值包括:
傳回碼 | 描述 |
---|---|
|
輸入參數無效。 |
|
可用的記憶體數量太低。 |
|
驅動程式已將佇列指派給指定的要求類型。 |
方法可能會 傳回其他NTSTATUS 值。
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
言論
WdfDeviceConfigureRequestDispatching 的每個呼叫都會指定一個要求類型。 如果您想要單一 I/O 佇列接收多種要求類型(例如讀取和寫入要求),您的驅動程式可以針對單一 I/O 佇列多次呼叫 WdfDeviceConfigureRequestDispatching 多次。
如需 WdfDeviceConfigureRequestDispatching的詳細資訊,請參閱 建立 I/O 佇列 和 管理 I/O 佇列。
例子
下列程式代碼範例會初始化 WDF_IO_QUEUE_CONFIG 結構、建立 I/O 佇列,然後設定佇列以接收寫入要求。
WDF_IO_QUEUE_CONFIG queueConfig;
WDFQUEUE WriteQueue;
WDF_IO_QUEUE_CONFIG_INIT(
&queueConfig,
WdfIoQueueDispatchSequential
);
queueConfig.EvtIoWrite = MyEvtIoWrite;
status = WdfIoQueueCreate(
Device,
&queueConfig,
WDF_NO_OBJECT_ATTRIBUTES,
&WriteQueue
);
if(!NT_SUCCESS(status)) {
return status;
}
status = WdfDeviceConfigureRequestDispatching(
Device,
WriteQueue,
WdfRequestTypeWrite
);
if(!NT_SUCCESS(status)) {
return status;
}
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
標頭 | wdfdevice.h (包括 Wdf.h) |
連結庫 | Wdf01000.sys (KMDF):WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | DriverCreate(kmdf),KmdfIrql(kmdf),KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf) |