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 |