共用方式為


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

傳回碼 描述
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;
}

要求

要求 價值
目標平臺 普遍
最低 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