Compartir a través de


Función AcxCircuitInitAssignAcxRequestPreprocessCallback (acxcircuit.h)

La función AcxCircuitInitAssignAcxRequestPreprocessCallback agrega una devolución de llamada de preprocesamiento WDFREQUEST.

Sintaxis

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

Parámetros

CircuitInit

Estructura ACXCIRCUIT_INIT que define la inicialización del circuito. ACXCIRCUIT_INIT es un objeto opaco utilizado para la inicialización del circuito. Use AcxCircuitInitAllocate para inicializar la estructura de ACXCIRCUIT_INIT.

EvtObjectAcxRequestPreprocess

Puntero a una devolución de llamada de EVT_ACX_OBJECT_PREPROCESS_REQUEST .

DriverContext

Contexto del controlador definido por el objeto ACXCONTEXT. Para obtener más información sobre los objetos ACX, vea Resumen de objetos ACX.

RequestType

Enumeración ACX_REQUEST_TYPE que define diferentes tipos de solicitud, como AcxRequestTypeAny, AcxRequestTypeProperty, etc.

Set

GUID opcional para identificar un identificador de conjunto de elementos específico.

Id

Identificador para indentificar un elemento específico en el identificador de conjunto especificado.

Valor devuelto

Devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado. Para obtener más información, vea Uso de valores NTSTATUS.

Comentarios

El controlador puede invocar esta DDI varias veces para configurar diferentes devoluciones de llamada de preprocesamiento. ACX invoca la primera que encuentra que coincide con el tipo WDFREQUEST entrante específico.

Ejemplo

A continuación se muestra el uso de ejemplo.

    // 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);

Requisitos de ACX

Versión mínima de ACX: 1.0

Para obtener más información sobre las versiones de ACX, consulte Introducción a la versión de ACX.

Requisitos

Requisito Valor
Header acxcircuit.h
IRQL PASSIVE_LEVEL

Consulte también