AcxEventCreate-Funktion (acxevents.h)

Die AcxEventCreate-Funktion erstellt ein ACX-Ereignis.

Syntax

NTSTATUS AcxEventCreate(
  ACXOBJECT              Object,
  PWDF_OBJECT_ATTRIBUTES Attributes,
  PACX_EVENT_CONFIG      Config,
  ACXEVENT               *Event
);

Parameter

Object

Ein ACXOBJECT, das in Zusammenfassung von ACX-Objekten beschrieben wird.

Attributes

Zusätzliche Attribute, die mithilfe einer WDF_OBJECT_ATTRIBUTES definiert werden, die zum Festlegen der Werte des verschiedenen Objekts verwendet werden: Bereinigen und Zerstören von Rückrufen, Kontexttyp und angeben des übergeordneten Objekts.

Config

Eine ACX_EVENT_CONFIG-Struktur , die die ACX-Ereigniskonfiguration definiert.

Event

Das neu erstellte ACXEVENT-Objekt (beschrieben in Zusammenfassung der ACX-Objekte).

Rückgabewert

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

Hinweise

Ein ACXEVENT stellt eine asynchrone Benachrichtigung dar, die auf Treiberebene verfügbar ist. Ereignisse können ACXCIRCUITs, ACXSTREAMs, ACXELEMENTs und ACXPINs hinzugefügt werden. Intern werden sie als KS-Ereignisse auf oberen Ebenen verfügbar gemacht. Weitere Informationen zu KS-Ereignissen finden Sie unter KS-Ereignisse.

Beispiel

In diesem Beispiel wird gezeigt, wie ACX AcxEventCreate verwendet, um ein Audiobuchsenänderungsereignis zu erstellen.

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

ACX-Anforderungen

AcX-Mindestversion: 1.0

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

Anforderungen

Anforderung Wert
Header acxevents.h
IRQL PASSIVE_LEVEL

Weitere Informationen