次の方法で共有


WdfDeviceInitSetIoType 関数 (wdfdevice.h)

[KMDF と UMDF に適用]

WdfDeviceInitSetIoType メソッドは、ドライバーが指定されたデバイスの読み取りおよび書き込み要求に含まれているデータ バッファーにアクセスする方法のメソッドまたは基本設定を設定します。

構文

void WdfDeviceInitSetIoType(
  [in] PWDFDEVICE_INIT    DeviceInit,
  [in] WDF_DEVICE_IO_TYPE IoType
);

パラメーター

[in] DeviceInit

WDFDEVICE_INIT構造体へのポインター。

[in] IoType

ドライバーが読み取りおよび書き込み要求用に受信するデータ バッファーにアクセスするために使用するメソッドを識別する、 WDF_DEVICE_IO_TYPE型の列挙子。

戻り値

なし

解説

Kmdf KMDF バージョン 1.13 以降を使用して新しいドライバーを作成する場合は、代わりに WdfDeviceInitSetIoTypeEx を使用する必要があります。 KMDF フィルター ドライバーから WdfDeviceInitSetIoType を呼び出しても、効果はありません。 フィルター ドライバーの場合、フレームワークは、ドライバー スタック内の次の下位ドライバーで指定された I/O 型を使用します。

Umdf WdfDeviceInitSetIoType を呼び出す KMDF ドライバーを UMDF バージョン 2.0 以降に変換する場合、変換されたドライバーは引き続き WdfDeviceInitSetIoType を問題なく呼び出すことができます。 ただし、UMDF バージョン 2.0 以降を使用してまったく新しいドライバーを作成する場合は、代わりに WdfDeviceInitSetIoTypeEx を使用する必要があります。

ドライバーが WdfDeviceInitSetIoType を呼び出す場合は、 WdfDeviceCreate を呼び出す前に呼び出す必要があります。 WdfDeviceCreate の呼び出しの詳細については、「フレームワーク デバイス オブジェクトの作成」を参照してください。

ドライバーが WdfDeviceInitSetIoType を呼び出さない場合、フレームワークは、指定されたデバイスのドライバーのバッファー アクセス メソッドを WdfDeviceIoBuffered に設定します。

バッファー アクセス方法の詳細については、「 データ バッファーへのアクセス」を参照してください。

次のコード例は、ドライバーがデバイスにアクセスするときにダイレクト I/O メソッドを使用することを示しています。

WdfDeviceInitSetIoType(
                       DeviceInit,
                       WdfDeviceIoDirect
                       );

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfdevice.h (Wdf.h を含む)
Library Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 ChildDeviceInitAPI(kmdf)ControlDeviceInitAPI(kmdf)DeviceInitAPI(kmdf)DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)、 PdoDeviceInitAPI(kmdf)

こちらもご覧ください

IWDFDeviceInitialize2::SetIoTypePreference

WDF_DEVICE_IO_TYPE

WdfDeviceInitSetIoTypeEx