ACX_EVENT_CALLBACKS structure (acxevents.h)

The ACX_EVENT_CALLBACKS structure identifies the driver callbacks for ACX event operations.

Syntax

typedef struct _ACX_EVENT_CALLBACKS {
  ULONG                                Size;
  PFN_ACX_EVENT_ENABLE                 EvtAcxEventEnable;
  PFN_ACX_EVENT_DISABLE                EvtAcxEventDisable;
  PFN_ACX_OBJECT_PROCESS_EVENT_REQUEST EvtAcxEventProcessRequest;
} ACX_EVENT_CALLBACKS, *PACX_EVENT_CALLBACKS;

Members

Size

The length, in bytes, of this structure.

EvtAcxEventEnable

The EVT_ACX_EVENT_ENABLE callback.

EvtAcxEventDisable

The EVT_ACX_EVENT_DISABLE callback.

EvtAcxEventProcessRequest

The EVT_ACX_OBJECT_PROCESS_EVENT_REQUEST callback.

Remarks

An ACXEVENT represents an asynchronous notification available at the driver level. Events can be added to ACXCIRCUITs, ACXSTREAMs, ACXELEMENTs and ACXPINs. Internally they are exposed as KS Events to upper layers. For more information about KS Events, see KS Events.

Example

This example shows the use of ACX_EVENT_CALLBACKS.

    ACX_EVENT_CALLBACKS         eventCallbacks;
    ACX_EVENT_CONFIG            eventCfg;
 
    //
    // Add enable/disable callbacks for this element.
    //
    ACX_EVENT_CALLBACKS_INIT(&eventCallbacks);
    eventCallbacks.EvtAcxEventEnable = &TestElement::EvtEventEnableCallback; 
    eventCallbacks.EvtAcxEventDisable = &TestElement::EvtEventDisableCallback;

    ACX_EVENT_CONFIG_INIT(&eventCfg);
    eventCfg.Set = &KSEVENTSETID_AudioControlChange;
    eventCfg.Id  = KSEVENT_CONTROL_CHANGE;
    eventCfg.Callbacks = &eventCallbacks;

ACX requirements

Minimum ACX version: 1.0

For more information about ACX versions, see ACX version overview.

Requirements

Requirement Value
Header acxevents.h

See also