次の方法で共有


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 バージョンの概要」を参照してください。

要件

要件
Header acxcircuit.h
IRQL PASSIVE_LEVEL

こちらもご覧ください