Share via


Função AcxCircuitInitAssignAcxRequestPreprocessCallback (acxcircuit.h)

A função AcxCircuitInitAssignAcxRequestPreprocessCallback adiciona um retorno de chamada de pré-processamento WDFREQUEST.

Sintaxe

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

A estrutura ACXCIRCUIT_INIT que define a inicialização do circuito. ACXCIRCUIT_INIT é um objeto opaco usado para inicialização de circuito. Use AcxCircuitInitAllocate para inicializar a estrutura ACXCIRCUIT_INIT.

EvtObjectAcxRequestPreprocess

Um ponteiro para um retorno de chamada EVT_ACX_OBJECT_PREPROCESS_REQUEST .

DriverContext

O contexto do driver definido pelo objeto ACXCONTEXT. Para obter mais informações sobre objetos ACX, consulte Resumo de objetos ACX.

RequestType

Uma enumeração ACX_REQUEST_TYPE que define diferentes tipos de solicitação, como AcxRequestTypeAny, AcxRequestTypeProperty etc.

Set

GUID opcional para identificar uma ID de conjunto de itens específica.

Id

Uma ID para recuar um item específico na ID do conjunto especificada.

Retornar valor

Retorna STATUS_SUCCESS se a chamada foi bem-sucedida. Caso contrário, ele retornará um código de erro apropriado. Para obter mais informações, consulte Usando valores NTSTATUS.

Comentários

O driver pode invocar essa DDI várias vezes para configurar diferentes retornos de chamada de pré-processamento. O ACX invoca o primeiro que encontra que corresponde ao tipo WDFREQUEST de entrada específico.

Exemplo

O uso de exemplo é mostrado abaixo.

    // 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 do ACX

Versão mínima do ACX: 1.0

Para obter mais informações sobre versões do ACX, consulte Visão geral da versão do ACX.

Requisitos

Requisito Valor
Cabeçalho acxcircuit.h
IRQL PASSIVE_LEVEL

Confira também