Partager via


AcxCircuitInitAssignAcxRequestPreprocessCallback, fonction (acxcircuit.h)

La fonction AcxCircuitInitAssignAcxRequestPreprocessCallback ajouter 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 de 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

Énumération ACX_REQUEST_TYPE 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 d’identifier un élément spécifique dans l’ID de jeu spécifié.

Valeur de retour

Retourne STATUS_SUCCESS si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié. Pour plus d’informations, consultez Using NTSTATUS Values.

Remarques

Le pilote peut appeler cette DDI plusieurs fois pour configurer différents rappels de préprocesseur. 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 pour ACX

version minimale d’ACX : 1.0

Pour plus d’informations sur les versions ACX, consultez vue d’ensemble de la version ACX.

Exigences

Exigence Valeur
d’en-tête acxcircuit.h
IRQL PASSIVE_LEVEL

Voir aussi