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
定义不同请求类型的 ACX_REQUEST_TYPE枚举 ,例如 AcxRequestTypeAny、AcxRequestTypeProperty 等。
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 |