EVT_WDF_DEVICE_PREPARE_HARDWARE コールバック関数 (wdfdevice.h)
[KMDF と UMDF に適用]
ドライバーの EvtDevicePrepareHardware イベント コールバック関数は、デバイスをドライバーからアクセスできるようにするために必要な操作を実行します。
構文
EVT_WDF_DEVICE_PREPARE_HARDWARE EvtWdfDevicePrepareHardware;
NTSTATUS EvtWdfDevicePrepareHardware(
[in] WDFDEVICE Device,
[in] WDFCMRESLIST ResourcesRaw,
[in] WDFCMRESLIST ResourcesTranslated
)
{...}
パラメーター
[in] Device
フレームワーク デバイス オブジェクトへのハンドル。
[in] ResourcesRaw
プラグ アンド プレイ マネージャーがデバイスに割り当てた未加工のハードウェア リソースを識別するフレームワーク リソースリスト オブジェクトへのハンドル。
[in] ResourcesTranslated
プラグ アンド プレイ マネージャーがデバイスに割り当てた、変換されたハードウェア リソースを識別するフレームワーク リソースリスト オブジェクトへのハンドル。
戻り値
EvtDevicePrepareHardware コールバック関数でエラーが発生しない場合は、NT_SUCCESS(状態) が TRUE と等しいSTATUS_SUCCESSまたは別の状態値返す必要があります。 それ以外の場合は、NT_SUCCESS(状態) が FALSE 等しい状態値を返す必要があります。 STATUS_NOT_SUPPORTEDを返さないでください。
NT_SUCCESS(status) が FALSE 等しい場合、フレームワークはドライバーの EvtDeviceReleaseHardware コールバック関数を呼び出します。
このコールバック関数の戻り値の詳細については、「Reporting Device Failures」を参照してください。
備考
EvtDevicePrepareHardware コールバック関数を登録するには、ドライバーが WdfDeviceInitSetPnpPowerEventCallbacks 呼び出す必要があります。
ドライバーがデバイスの EvtDevicePrepareHardware コールバック関数を登録している場合、プラグ アンド プレイ マネージャーがデバイスにハードウェア リソースを割り当てた後、およびデバイスが初期化されていない D0 状態になった後に、フレームワークによって関数が呼び出されます。 (プラグ アンド プレイ マネージャーは、そのデバイスの子デバイスを起動する前に、常に親デバイスを起動します)。
フレームワークは、ドライバーの EvtDeviceD0Entry コールバック関数を呼び出す前に、ドライバーの EvtDevicePrepareHardware コールバック関数を呼び出します。
EvtDevicePrepareHardware コールバック関数は、ResourcesRaw を使用して、デバイスの未加工および翻訳されたハードウェア リソースにアクセスし、受信した ResourcesTranslated ハンドルを します。 コールバック関数は、WdfCmResourceListGetCount 呼び出し、WdfCmResourceListGetDescriptor を してリソース リストを走査できます。 このコールバック関数は、リソース リストを変更できません。
リソース リストとリソースが表示される順序の詳細については、未加工および翻訳されたハードウェア リソース を参照してください。
通常、ドライバーの EvtDevicePrepareHardware コールバック関数は、必要に応じて次の処理を行います。
- ドライバーがデバイスに割り当てられているメモリにアクセスできるように、物理メモリ アドレスを仮想アドレスにマップします
- デバイスのリビジョン番号を決定します
- USB デバイスを構成する
- 他のドライバーから ドライバー定義インターフェイスを取得します
通常、ファームウェアの読み込みを含む他のすべてのハードウェア初期化操作は、デバイスが動作 (D0) 状態に入るたびに行われる必要があるため、ドライバーの EvtDeviceD0Entry コールバック関数で実行する必要があります。
ResourcesRaw と ResourcesTranslated は、ドライバーの EvtDeviceReleaseHardware コールバック関数が戻るまで、EvtDevicePrepareHardware コールバック関数が受け取る処理を有効なままにします。
ハードウェア リソースの詳細については、「Framework-Based ドライバー のハードウェア リソースの」を参照してください。
フレームワークがこのコールバック関数を呼び出すタイミングの詳細については、「PnP と電源管理のシナリオ を参照してください。
このコールバック関数を提供するドライバーの詳細については、「Function Driversでの PnP と電源管理のサポート」を参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
最小 KMDF バージョン | 1.0 |
UMDF の最小バージョン を する | 2.0 |
ヘッダー | wdfdevice.h (Wdf.h を含む) |
IRQL | PASSIVE_LEVEL |
関連項目
EvtDeviceReleaseHardware の