WDM の情報の取得

[KMDF のみに適用]

フレームワークは、WDM で定義された情報を取得するドライバーを有効にするいくつかのオブジェクト メソッドを提供します。

ドライバーとそのデバイスに関する WDM 情報の取得

ドライバーとそのデバイスに関する WDM 情報を取得するには、ドライバーは、次のメソッドを呼び出すことができます:

WdfFdoInitWdmGetPhysicalDevice
デバイスの 物理デバイス オブジェクト (PDO) を表すDEVICE_OBJECT構造を取得します。 ドライバーは、ドライバーがデバイスのフレームワーク デバイス オブジェクトを作成する前に、このメソッドを呼び出すことができます。

WdfDeviceWdmGetPhysicalDevice
デバイスの PDO を表す WDM DEVICE_OBJECT 構造を取得します。 ドライバーは、デバイスのフレームワーク デバイス オブジェクトを作成した後、このメソッドを呼び出すことができます。

WdfDeviceWdmGetDeviceObject
指定したフレームワーク デバイス オブジェクトに関連付けられた WDM デバイス オブジェクトを返します。

WdfDeviceWdmGetAttachedDevice
デバイス スタック内の次の下位 WDM デバイス オブジェクトを 返します。

WdfWdmDeviceGetWdfDeviceHandle
指定したフレームワーク デバイス オブジェクトに関連付けられたフレームワーク デバイス オブジェクトへのハンドルを返します。

WdfWdmDriverGetWdfDriverHandle
指定した WDMトライバーオブジェクトに関連付けられたフレームワーク トライバー オブジェクトへのハンドルを返します。

I/O リクエストに関するWDM情報の取得

I/O リクエストに関する WDM 情報を取得するには、ドライバーは、次のメソッドを呼び出すことができます:

WdfRequestWdmGetIrp
指定したフレームワークリクエストオブジェクトに関連付けられた WDM IRP 構造を返します。 (一方、フレームワークの外部で WDM IRP を受け取るドライバーは、WdfRequestCreateFromIrpを呼び出すことによって IRP のフレームワークリクエストオブジェクトを作成できます。)

WdfRequestGetParameters
フレームワークリクエストオブジェクトに関連付けられたパラメーターを取得します。 これらのパラメーターのほとんどは、リクエストの WDM I/O スタックの場所から取得されます。)

WdfRequestRetrieveOutputWdmMdl
I/O リクエストの出力バッファーを表すメモリ記述子リスト (MDL) を取得します。

WdfRequestRetrieveInputWdmMdl
I/O リクエストの入力バッファーを表す MDL を取得します。

WdfRequestFormatRequestUsingCurrentType
呼び出し元のドライバーの I/O スタックの場所の内容を、ドライバーのローカル I/O ターゲットの I/O スタックの場所にコピーします。

WdfRequestWdmFormatUsingStackLocation
ドライバーのローカル I/O ターゲットの I/O スタックの場所の内容を設定します。

I/O ターゲットに関するWDM情報の取得

I/O ターゲットに関する WDM 情報を取得するには、ドライバーは、次のメソッドを呼び出すことができます:

WdfIoTargetWdmGetTargetDeviceObject
ローカルまたはリモートの I/O ターゲットに関連付けられたWDMデバイス オブジェクトへのポインターを返します。

WdfIoTargetWdmGetTargetFileObject
リモート I/O ターゲットに関連付けられたWDM FILE_OBJECT構造へのポインターを返します。

WdfIoTargetWdmGetTargetFileHandle
リモート I/O ターゲットに関連付けられたファイルへのハンドルを返します。

WdfIoTargetWdmGetTargetPhysicalDevice
リモート I/O ターゲットのデバイスを表す WDM 物理デバイス オブジェクト (PDO) へのポインターを返します。

割り込みと DPCs に関する WDM 情報の取得

割り込みと遅延プロシージャ呼び出し (DPCs) に関する WDM 情報を取得するには、ドライバーは、次のメソッドを呼び出すことができます:

WdfInterruptWdmGetInterrupt
指定したフレームワーク割り込みオブジェクトに関連付けられた WDM KINTERRUPT 構造へのポインターを返します。

WdfDpcWdmGetDpc
指定したフレームワーク DPC オブジェクトに関連付けられたWDM KDPC 構造へのポインターを返します。

USB I/O ターゲットに関するWDM情報の取得

USB I/O ターゲットに関する WDM 情報を取得するには、ドライバーは、次のメソッドを呼び出すことができます:

WdfUsbTargetPipeWdmGetPipeHandle
指定したフレームワーク パイプ オブジェクトに関連付けられたUSBD_PIPE_HANDLEタイプのハンドルを返します。

レジストリに関する WDM 情報の取得

レジストリに関する WDM 情報を取得するには、ドライバーは、次のメソッドを呼び出すことができます:

WdfRegistryWdmGetHandle
フレームワーク レジストリ キー オブジェクトが表すレジストリ キーに WDM ハンドルを返します。

ファイル オブジェクトに関する WDM 情報の取得

ファイル オブジェクトに関する WDM 情報を取得するには、ドライバーは、次のメソッドを呼び出すことができます:

WdfFileObjectWdmGetFileObject
指定したフレームワークファイルオブジェクトに関連付けられた WDM FILE_OBJECT構造を返します。