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構造を返します。