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 |