Freigeben über


AcxCircuitInitAssignAcxRequestPreprocessCallback-Funktion (acxcircuit.h)

Die AcxCircuitInitAssignAcxRequestPreprocessCallback-Funktion fügt einen WDFREQUEST-Präprozessrü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 Verbindungsinitialisierung definiert. ACXCIRCUIT_INIT ist ein undurchsichtiges Objekt, das für die Verbindungsinitialisierung 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 durch das ACXCONTEXT-Objekt definierte Treiberkontext. Weitere Informationen zu ACX-Objekten finden Sie unter Zusammenfassung von ACX-Objekten.

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 Einrücken eines bestimmten Elements in der angegebenen Mengen-ID.

Rückgabewert

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

Hinweise

Der Treiber kann diesen DDI mehrmals aufrufen, um unterschiedliche Vorverarbeitungsrückrufe einzurichten. ACX ruft die erste auf, die gefunden wird, die dem spezifischen eingehenden WDFREQUEST-Typ entspricht.

Beispiel

Das Beispiel für die Verwendung ist unten dargestellt.

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

ACX-Mindestversion: 1.0

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

Anforderungen

Anforderung Wert
Header acxcircuit.h
IRQL PASSIVE_LEVEL

Weitere Informationen