Share via


Función AcxEventCreate (acxevents.h)

La función AcxEventCreate crea un evento ACX.

Sintaxis

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

Parámetros

Object

AcXOBJECT que se describe en Resumen de objetos ACX.

Attributes

Atributos adicionales definidos mediante un WDF_OBJECT_ATTRIBUTES que se usan para establecer los distintos valores del objeto: limpieza y destrucción de devoluciones de llamada, tipo de contexto y para especificar su objeto primario.

Config

Estructura ACX_EVENT_CONFIG que define la configuración del evento ACX.

Event

Objeto ACXEVENT recién creado (descrito en Resumen de objetos ACX).

Valor devuelto

Devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado. Para obtener más información, vea Uso de valores NTSTATUS.

Comentarios

Un ACXEVENT representa una notificación asincrónica disponible en el nivel de controlador. Los eventos se pueden agregar a ACXCIRCUITs, ACXSTREAMs, ACXELEMENTs y ACXPINs. Internamente, se exponen como eventos KS a las capas superiores. Para obtener más información sobre los eventos de KS, vea KS Events.

Ejemplo

En este ejemplo de snip de código se muestra cómo ACX usa AcxEventCreate para crear un evento de cambio de conector de 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);

Requisitos de ACX

Versión mínima de ACX: 1.0

Para obtener más información sobre las versiones de ACX, consulte Introducción a la versión de ACX.

Requisitos

Requisito Valor
Header acxevents.h
IRQL PASSIVE_LEVEL

Consulte también