Freigeben über


AcxCircuitInitAssignAcxRequestPreprocessCallback-Funktion (acxcircuit.h)

Die AcxCircuitInitAssignAcxRequestPreprocessCallback Funktion fügen einen WDFREQUEST-Vorverarbeitungsrückruf hinzu.

Syntax

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

Parameter

CircuitInit

Die ACXCIRCUIT_INIT Struktur, die die Schaltkreisinitialisierung definiert. ACXCIRCUIT_INIT ist ein undurchsichtiges Objekt, das für die Schaltkreisinitialisierung verwendet wird. Verwenden Sie AcxCircuitInitAllocate, um die ACXCIRCUIT_INIT Struktur zu initialisieren.

EvtObjectAcxRequestPreprocess

Ein Zeiger auf einen EVT_ACX_OBJECT_PREPROCESS_REQUEST Rückruf.

DriverContext

Der vom ACXCONTEXT-Objekt definierte Treiberkontext. Weitere Informationen zu ACX-Objekten finden Sie unter Summary of ACX Objects.

RequestType

Eine ACX_REQUEST_TYPE Enumeration, die verschiedene Anforderungstypen definiert, z. B. AcxRequestTypeAny, AcxRequestTypeProperty usw.

Set

Optionale GUID zum Identifizieren einer bestimmten Elementsatz-ID.

Id

Eine ID zum Identifizieren eines bestimmten Elements in der angegebenen Satz-ID.

Rückgabewert

Gibt STATUS_SUCCESS zurück, wenn der Anruf erfolgreich war. Andernfalls wird ein entsprechender Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Verwenden von NTSTATUS-Werten.

Bemerkungen

Der Treiber kann diesen DDI mehrmals aufrufen, um verschiedene Vorverarbeitungsrückrufe einzurichten. ACX ruft den ersten Aufruf auf, der mit dem spezifischen eingehenden WDFREQUEST-Typ übereinstimmt.

Beispiel

Die Beispielverwendung wird unten gezeigt.

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

ACX-Anforderungen

Mindestens ACX-Version: 1.0

Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.

Anforderungen

Anforderung Wert
Header- acxcircuit.h
IRQL- PASSIVE_LEVEL

Siehe auch