次の方法で共有


WDF_IO_QUEUE_CONFIG_INIT関数 (wdfio.h)

[KMDF と UMDF に適用]

WDF_IO_QUEUE_CONFIG_INIT関数は、ドライバーのWDF_IO_QUEUE_CONFIG構造体を初期化します。

構文

void WDF_IO_QUEUE_CONFIG_INIT(
  [out] PWDF_IO_QUEUE_CONFIG       Config,
  [in]  WDF_IO_QUEUE_DISPATCH_TYPE DispatchType
);

パラメーター

[out] Config

ドライバーの WDF_IO_QUEUE_CONFIG 構造体へのポインター。

[in] DispatchType

キューの要求ディスパッチの種類を識別する WDF_IO_QUEUE_DISPATCH_TYPE 列挙子。

戻り値

なし

解説

ドライバーは、デバイスの既定のキューではない電源マネージド I/O キューを作成するときに、 WDF_IO_QUEUE_CONFIG_INIT を呼び出す必要があります。 WDF_IO_QUEUE_CONFIG_INIT関数は、指定したWDF_IO_QUEUE_CONFIG構造体をゼロにし、その Size メンバーを設定します。 また、 PowerManaged メンバーを WdfUseDefault に設定し、 DispatchType メンバーに指定されたディスパッチ型を格納します。

KMDF バージョン 1.9 以降、 DispatchTypeWdfIoQueueDispatchParallel に設定されている場合、 WDF_IO_QUEUE_CONFIG_INIT 構造体の NumberOfPresentedRequests メンバーが -1 に設定されます。 この値は、フレームワークがドライバーに無制限の数の I/O 要求を配信できることを示します。

次のコード例では 、WDF_IO_QUEUE_CONFIG構造体を 初期化し、 WdfIoQueueCreate を呼び出します。

WDF_IO_QUEUE_CONFIG  queueConfig;
NTSTATUS  status = STATUS_SUCCESS;
WDFQUEUE  readQueue;

WDF_IO_QUEUE_CONFIG_INIT(
                         &queueConfig,
                         WdfIoQueueDispatchManual
                         );
status = WdfIoQueueCreate(
                          hDevice,
                          &queueConfig,
                          WDF_NO_OBJECT_ATTRIBUTES,
                          &readQueue
                          );

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfio.h (Wdf.h を含む)

こちらもご覧ください

WDF_IO_QUEUE_CONFIG

WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE

WDF_IO_QUEUE_DISPATCH_TYPE

WdfIoQueueCreate