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

另请参阅