共用方式為


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。 其他傳回值包括:

傳回碼 Description
STATUS_INVALID_PARAMETER
輸入參數無效。
STATUS_INSUFFICIENT_RESOURCES
可用的記憶體數量太低。
STATUS_WDF_BUSY
驅動程式已將佇列指派給指定的要求類型。
 

方法可能會傳回其他 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;
}

規格需求

需求
目標平台 Universal
最低 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)

另請參閱

WDF_IO_QUEUE_CONFIG_INIT

WdfIoQueueCreate