Função AcxCircuitInitAssignAcxRequestPreprocessCallback (acxcircuit.h)
A função AcxCircuitInitAssignAcxRequestPreprocessCallback adicionar 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 do circuito. Use AcxCircuitInitAllocate para inicializar a estrutura de 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
Um ACX_REQUEST_TYPE enumeração 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 identificar um item específico na ID do conjunto especificada.
Valor de retorno
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.
Observações
O driver pode invocar essa DDI várias vezes para configurar diferentes retornos de chamada de pré-processamento. O ACX invoca a primeira localização 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 |