Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La funzione AcxCircuitInitAssignAcxRequestPreprocessCallback aggiungere un callback di preprocesso WDFREQUEST.
Sintassi
NTSTATUS AcxCircuitInitAssignAcxRequestPreprocessCallback(
PACXCIRCUIT_INIT CircuitInit,
PFN_ACX_OBJECT_PREPROCESS_REQUEST EvtObjectAcxRequestPreprocess,
ACXCONTEXT DriverContext,
ACX_REQUEST_TYPE RequestType,
const GUID *Set,
ULONG Id
);
Parametri
CircuitInit
Struttura ACXCIRCUIT_INIT che definisce l'inizializzazione del circuito. ACXCIRCUIT_INIT è un oggetto opaco utilizzato per l'inizializzazione del circuito. Utilizzare AcxCircuitInitAllocate per inizializzare la struttura ACXCIRCUIT_INIT.
EvtObjectAcxRequestPreprocess
Puntatore a un callback EVT_ACX_OBJECT_PREPROCESS_REQUEST.
DriverContext
Contesto del driver definito dall'oggetto ACXCONTEXT. Per altre informazioni sugli oggetti ACX, vedere Riepilogo degli oggetti ACX.
RequestType
Un ACX_REQUEST_TYPE enumerazione che definisce tipi di richiesta diversi, ad esempio AcxRequestTypeAny, AcxRequestTypeProperty e così via.
Set
GUID facoltativo per identificare un ID set di elementi specifico.
Id
ID per identificare un elemento specifico nell'ID set specificato.
Valore restituito
Restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato. Per altre informazioni, vedere Uso di valori NTSTATUS.
Osservazioni
Il driver può richiamare questa DDI più volte per configurare callback di pre-elaborazione diversi. ACX richiama il primo elemento che trova la corrispondenza con il tipo WDFREQUEST in ingresso specifico.
Esempio
Di seguito è riportato un esempio di utilizzo.
// 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);
Requisiti ACX
versione minima di ACX: 1.0
Per altre informazioni sulle versioni di ACX, vedere panoramica della versione ACX.
Fabbisogno
| Requisito | Valore |
|---|---|
| intestazione | acxcircuit.h |
| IRQL | PASSIVE_LEVEL |