Condividi tramite


Funzione AcxEventCreate (acxevents.h)

La funzione AcxEventCreate crea un evento ACX.

Sintassi

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

Parametri

Object

AcXOBJECT descritto in Riepilogo degli oggetti ACX.

Attributes

Attributi aggiuntivi definiti usando un WDF_OBJECT_ATTRIBUTES utilizzato per impostare i valori dei vari oggetti: pulizia e eliminazione di callback, tipo di contesto e specificare l'oggetto padre.

Config

Struttura ACX_EVENT_CONFIG che definisce la configurazione dell'evento ACX.

Event

Oggetto ACXEVENT appena creato (descritto in Riepilogo degli oggetti ACX).

Valore restituito

Restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato. Per altre informazioni, vedere Uso dei valori NTSTATUS.

Commenti

AcXEVENT rappresenta una notifica asincrona disponibile a livello di driver. Gli eventi possono essere aggiunti a ACXCIRCUITs, ACXSTREAMs, ACXELEMENTs e ACXPINs. Internamente vengono esposti come eventi KS a livelli superiori. Per altre informazioni sugli eventi KS, vedere Eventi KS.

Esempio

Questo snip del codice di esempio mostra come ACX usa AcxEventCreate per creare un evento di modifica del jack 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);

Requisiti ACX

Versione minima DI ACX: 1.0

Per altre informazioni sulle versioni ACX, vedere Panoramica della versione di ACX.

Requisiti

Requisito Valore
Intestazione acxevents.h
IRQL PASSIVE_LEVEL

Vedi anche