次の方法で共有


AcxCircuitInitAssignAcxRequestPreprocessCallback 関数 (acxcircuit.h)

AcxCircuitInitAssignAcxRequestPreprocessCallback 関数は、WDFREQUEST 前処理コールバックを追加します。

構文

NTSTATUS AcxCircuitInitAssignAcxRequestPreprocessCallback(
  PACXCIRCUIT_INIT                  CircuitInit,
  PFN_ACX_OBJECT_PREPROCESS_REQUEST EvtObjectAcxRequestPreprocess,
  ACXCONTEXT                        DriverContext,
  ACX_REQUEST_TYPE                  RequestType,
  const GUID                        *Set,
  ULONG                             Id
);

パラメーター

CircuitInit

回線の初期化を定義するACXCIRCUIT_INIT構造体。 ACXCIRCUIT_INITは、回線の初期化に使用される不透明なオブジェクトです。 AcxCircuitInitAllocate 使用して、ACXCIRCUIT_INIT構造体を初期化します。

EvtObjectAcxRequestPreprocess

EVT_ACX_OBJECT_PREPROCESS_REQUEST コールバックへのポインター。

DriverContext

ACXCONTEXT オブジェクトによって定義されたドライバー コンテキスト。 ACX オブジェクトの詳細については、ACX オブジェクトの概要を参照してください。

RequestType

AcxRequestTypeAny、AcxRequestTypeProperty など、さまざまな要求の種類を定義する ACX_REQUEST_TYPE 列挙型

Set

特定の項目セット ID を識別するための省略可能な GUID。

Id

指定したセット ID 内の特定の項目を識別する ID。

戻り値

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

備考

ドライバーは、この DDI を複数回呼び出して、さまざまな前処理コールバックを設定できます。 ACX は、特定の受信 WDFREQUEST 型に一致する最初の検索を呼び出します。

使用例を次に示します。

    // Render callbacks.

    EVT_ACX_OBJECT_PREPROCESS_REQUEST   CodecR_EvtCircuitRequestPreprocess;


    //
    // Add circuit type.
    //
    AcxCircuitInitSetCircuitType(circuitInit, AcxCircuitTypeRender);

    //
    // Assign the circuit's pnp-power callbacks.
    //
    ACX_CIRCUIT_PNPPOWER_CALLBACKS_INIT(&powerCallbacks);
    powerCallbacks.EvtAcxCircuitPowerUp = CodecR_EvtCircuitPowerUp;
    powerCallbacks.EvtAcxCircuitPowerDown = CodecR_EvtCircuitPowerDown;
    AcxCircuitInitSetAcxCircuitPnpPowerCallbacks(circuitInit, &powerCallbacks);


    //
    // Set circuit-callbacks.
    //
    status = AcxCircuitInitAssignAcxRequestPreprocessCallback(
                                            circuitInit, 
                                            CodecR_EvtCircuitRequestPreprocess,
                                            (ACXCONTEXT)AcxRequestTypeAny, // dbg only
                                            AcxRequestTypeAny,
                                            NULL, 
                                            AcxItemIdNone);

ACX の要件

最小 ACX バージョン: 1.0

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

必要条件

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

関連項目

  • acxcircuit.h ヘッダー する