次の方法で共有


EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE コールバック関数 (acxcircuit.h)

EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE コールバックは、回線ファクトリが準備ハードウェア フェーズにあるときに機能を追加するためにドライバーによって使用されます。

構文

EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE EvtAcxFactoryCircuitPrepareHardware;

NTSTATUS EvtAcxFactoryCircuitPrepareHardware(
  WDFDEVICE Device,
  ACXFACTORYCIRCUIT Factory,
  WDFCMRESLIST ResourcesRaw,
  WDFCMRESLIST ResourcesTranslated
)
{...}

パラメーター

Device

ACX 回線に関連付けられている WDFDEVICE オブジェクト (フレームワーク オブジェクト の概要で説明)。

Factory

既存の回線ファクトリ ACXFACTORYCIRCUIT オブジェクト。 ACX オブジェクトの詳細については、ACX オブジェクトの概要を参照してください。

ResourcesRaw

ハードウェア準備フェーズに使用する未加工のリソースを記述する WDF リソースリスト。 これは、デバイスのハードウェア リソースの一覧を表す WDF フレームワークリソースリストオブジェクトです。 生リソースの詳細については、「Framework-Based ドライバー のハードウェア リソース」を参照してください。

ResourcesTranslated

ハードウェア準備フェーズに使用する変換済みリソースを記述する WDF リソースリスト。 これは、デバイスのハードウェア リソースの一覧を表す WDF フレームワークリソースリストオブジェクトです。 翻訳されたリソース リストの詳細については、「未加工リソースと翻訳済みリソース」を参照してください。

戻り値

呼び出しが成功した場合に STATUS_SUCCESS を返します。 それ以外の場合は、適切なエラー コードが返されます。 詳細については、NTSTATUS 値 の使用に関するを参照してください。

備考

EvtAcxFactoryCircuitPrepareHardware コールバック関数を登録するには、ドライバーは AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks メソッド を呼び出す必要があります。

ドライバーが ACXFACTORYCIRCUIT の EvtAcxFactoryCircuitPrepareHardware コールバック関数を登録している場合、ACX フレームワークは、WDF フレームワークがドライバーの EvtDevicePrepareHardware コールバック関数を呼び出した後に関数を呼び出します。

EvtAcxFactoryCircuitPrepareHardware コールバック関数は、受け取る ResourcesRaw ハンドルと ResourcesTranslated ハンドルを使用して、デバイスの生および変換されたハードウェア リソースにアクセスします。 コールバック関数は、WdfCmResourceListGetCount 呼び出し、WdfCmResourceListGetDescriptor してリソース リストを走査できます。 このコールバック関数は、リソース リストを変更できません。

リソース一覧とリソースが表示される順序の詳細については、「未加工リソースと翻訳済みリソース」を参照してください。

通常、ドライバーの EvtAcxFactoryCircuitPrepareHardware コールバック関数は、必要に応じて次の処理を行います。

  • ドライバーがデバイスに割り当てられているメモリにアクセスできるように、物理メモリ アドレスを ACXFACTORYCIRCUIT の仮想アドレスにマップします。
  • 必要に応じて、ドライバーの EvtAcxFactoryCircuitPrepareHardware コールバック関数は、作業項目をキューに登録して、他の時間のかかる構成タスクを完了する場合があります。 このような操作に作業項目を使用すると、デバイスの起動時間がシステムの起動時間を長くしないようにすることができます。 詳細については、「フレームワーク作業項目の使用」を参照してください。
  • 通常、ファームウェアの読み込みを含む他のすべてのハードウェア初期化操作は、デバイスが動作 (D0) 状態に入るたびに行われる必要があるため、ドライバーの EvtDeviceD0Entry コールバック関数で実行する必要があります。

ResourcesRaw および ResourcesTranslated ハンドルは、EvtAcxCircuitPrepareHardware/EvtDevicePrepareHardware コールバック関数が受け取る処理は、ドライバーの EvtDeviceReleaseHardware コールバック関数が返されるまで有効なままです。

ドライバーが EvtAcxFactoryCircuitPrepareHardware コールバックに失敗した場合、ACXFACTORYCIRCUIT オブジェクトは削除保留中の状態になります。

ハードウェア リソースの詳細については、「ハードウェア リソースの概要」を参照してください。

ACX および WDF フレームワークがこれらのコールバック関数を呼び出すタイミングの詳細については、「PnP と電源管理のシナリオ を参照してください。

このコールバック関数を提供するドライバーの詳細については、「Function Driverでの PnP と電源管理のサポート」を参照してください。

ACX の要件

最小 ACX バージョン: 1.0

ACX バージョンの詳細については、ACX バージョンの概要 参照してください。

必要条件

要件 価値
ヘッダー acxcircuit.h
IRQL PASSIVE_LEVEL

関連項目

  • acxcircuit.h ヘッダー する