AcxCircuitInitAssignAcxRequestPreprocessCallback, fonction (acxcircuit.h)

La fonction AcxCircuitInitAssignAcxRequestPreprocessCallback ajoute un rappel de préprocesseur WDFREQUEST.

Syntaxe

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

Paramètres

CircuitInit

Structure ACXCIRCUIT_INIT qui définit l’initialisation du circuit. ACXCIRCUIT_INIT est un objet opaque utilisé pour l’initialisation du circuit. Utilisez AcxCircuitInitAllocate pour initialiser la structure ACXCIRCUIT_INIT.

EvtObjectAcxRequestPreprocess

Pointeur vers un rappel EVT_ACX_OBJECT_PREPROCESS_REQUEST .

DriverContext

Contexte de pilote défini par l’objet ACXCONTEXT. Pour plus d’informations sur les objets ACX, consultez Résumé des objets ACX.

RequestType

Un ACX_REQUEST_TYPE énumération qui définit différents types de requêtes, tels que AcxRequestTypeAny, AcxRequestTypeProperty, etc.

Set

GUID facultatif pour identifier un ID d’ensemble d’éléments spécifique.

Id

ID permettant de mettre en retrait un élément spécifique dans l’ID défini spécifié.

Valeur retournée

Retourne STATUS_SUCCESS si l’appel a réussi. Sinon, il retourne un code d’erreur approprié. Pour plus d’informations, consultez Utilisation de valeurs NTSTATUS.

Remarques

Le pilote peut appeler cette DDI plusieurs fois pour configurer différents rappels de prétraitement. ACX appelle le premier qu’il trouve qui correspond au type WDFREQUEST entrant spécifique.

Exemple

L’exemple d’utilisation est illustré ci-dessous.

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

Configuration requise d’ACX

Version minimale d’ACX : 1.0

Pour plus d’informations sur les versions d’ACX, consultez Vue d’ensemble des versions d’ACX.

Configuration requise

Condition requise Valeur
En-tête acxcircuit.h
IRQL PASSIVE_LEVEL

Voir aussi