AcxEventCreate, fonction (acxevents.h)
La fonction AcxEventCreate crée un événement ACX.
Syntaxe
NTSTATUS AcxEventCreate(
ACXOBJECT Object,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACX_EVENT_CONFIG Config,
ACXEVENT *Event
);
Paramètres
Object
ACXOBJECT décrit dans Résumé des objets ACX.
Attributes
Attributs supplémentaires définis à l’aide d’un WDF_OBJECT_ATTRIBUTES qui sont utilisés pour définir les valeurs des différents objets : nettoyage et destruction des rappels, type de contexte et pour spécifier son objet parent.
Config
Structure ACX_EVENT_CONFIG qui définit la configuration d’événement ACX.
Event
Objet ACXEVENT nouvellement créé (décrit dans Résumé des objets ACX).
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
Un ACXEVENT représente une notification asynchrone disponible au niveau du pilote. Les événements peuvent être ajoutés à ACXCIRCUITs, ACXSTREAMs, ACXELEMENTs et ACXPINs. En interne, ils sont exposés en tant qu’événements KS aux couches supérieures. Pour plus d’informations sur les événements KS, consultez Événements KS.
Exemple
Cet exemple de capture de code montre comment ACX utilise AcxEventCreate pour créer un événement de changement de prise audio.
NTSTATUS status = STATUS_SUCCESS;
PAGED_CODE();
ACX_EVENT_CALLBACKS eventCallbacks;
ACX_EVENT_CONFIG eventCfg;
AFX_PIN_EVENT_CONTEXT *eventCtx;
ACXEVENT jackEvent;
WDF_OBJECT_ATTRIBUTES attributes;
//
// Add jack info change event to this jack object
//
ACX_EVENT_CALLBACKS_INIT(&eventCallbacks);
eventCallbacks.EvtAcxEventEnable = &AfxPin::EvtJackEventEnableCallback;
eventCallbacks.EvtAcxEventDisable = &AfxPin::EvtJackEventDisableCallback;
ACX_EVENT_CONFIG_INIT(&eventCfg);
eventCfg.Set = &KSEVENTSETID_PinCapsChange;
eventCfg.Id = KSEVENT_PINCAPS_JACKINFOCHANGE;
eventCfg.Callbacks = &eventCallbacks;
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&attributes, AFX_PIN_EVENT_CONTEXT);
attributes.ParentObject = GetObjectHandle();
status = AcxEventCreate(GetObjectHandle(), &attributes, &eventCfg, &jackEvent);
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 | acxevents.h |
IRQL | PASSIVE_LEVEL |