次の方法で共有


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 コールバック関数を登録している場合、WDF フレームワークがドライバーの EvtDevicePrepareHardware コールバック関数を呼び出した後、ACX フレームワークは 関数を呼び出します。

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

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

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

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

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

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

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

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

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

ACX の要件

最小 ACX バージョン: 1.0

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

要件

要件
Header acxcircuit.h
IRQL PASSIVE_LEVEL

こちらもご覧ください