Condividi tramite


Funzione AcxCircuitInitAssignAcxRequestPreprocessCallback (acxcircuit.h)

La funzione AcxCircuitInitAssignAcxRequestPreprocessCallback aggiunge 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 usato per l'inizializzazione del circuito. Usare AcxCircuitInitAllocate per inizializzare la struttura di 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

Enumerazione ACX_REQUEST_TYPE che definisce diversi tipi di richiesta, ad esempio AcxRequestTypeAny, AcxRequestTypeProperty e così via.

Set

GUID facoltativo per identificare un ID set di elementi specifico.

Id

ID per rientro di 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 dei valori NTSTATUS.

Commenti

Il driver può richiamare più volte questo DDI per configurare callback di pre-elaborazione diversi. ACX richiama il primo elemento che corrisponde al tipo WDFREQUEST in ingresso specifico.

Esempio

Di seguito è riportato l'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 ACX, vedere Panoramica della versione di ACX.

Requisiti

Requisito Valore
Intestazione acxcircuit.h
IRQL PASSIVE_LEVEL

Vedi anche