APO_NOTIFICATION structure (audioengineextensionapo.h)

Represents a notification for a change to an APO endpoint or system effects.

Syntax

typedef struct APO_NOTIFICATION {
  APO_NOTIFICATION_TYPE type;
  union {
    AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION        audioEndpointVolumeChange;
    AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION      audioEndpointPropertyChange;
    AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION audioSystemEffectsPropertyChange;
    AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION2       audioEndpointVolumeChange2;
    DEVICE_ORIENTATION_TYPE                          deviceOrientation;
    AUDIO_MICROPHONE_BOOST_NOTIFICATION              audioMicrophoneBoostChange;
    AUDIO_ENVIRONMENT_STATE_CHANGE_NOTIFICATION      audioEnvironmentChange;
  } DUMMYUNIONNAME;
} APO_NOTIFICATION;

Members

type

A value from the APO_NOTIFICATION_TYPE enumeration specifying the type of change the notification represents.

DUMMYUNIONNAME

DUMMYUNIONNAME.audioEndpointVolumeChange

When type is APO_NOTIFICATION_TYPE_ENDPOINT_VOLUME, the union value is an AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION representing a notification of a change to APO endpoint volume.

DUMMYUNIONNAME.audioEndpointPropertyChange

When type is APO_NOTIFICATION_TYPE_ENDPOINT_PROPERTY_CHANGE, the union value is an AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION representing a notification of a change to an APO endpoint property.

DUMMYUNIONNAME.audioSystemEffectsPropertyChange

When type is APO_NOTIFICATION_TYPE_ENDPOINT_PROPERTY_CHANGE, the union value is an AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION representing a notification of a change to an APO system effect property.

DUMMYUNIONNAME.audioEndpointVolumeChange2

When type is APO_NOTIFICATION_TYPE_ENDPOINT_VOLUME2, the union value is an AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION2 representing a notification of a change to APO endpoint volume that includes master and channel volume, in dB.

DUMMYUNIONNAME.deviceOrientation

When type is APO_NOTIFICATION_TYPE_DEVICE_ORIENTATION, the union value is a DEVICE_ORIENTATION_TYPE representing a device orientation value.

DUMMYUNIONNAME.audioMicrophoneBoostChange

When type is APO_NOTIFICATION_TYPE_MICROPHONE_BOOST, the union value is a AUDIO_MICROPHONE_BOOST_NOTIFICATION representing an endpoint microphone boost APO notification.

DUMMYUNIONNAME.audioEnvironmentChange

When type is APO_NOTIFICATION_TYPE_AUDIO_ENVIRONMENT_STATE_CHANGE, the union value is a AUDIO_ENVIRONMENT_STATE_CHANGE_NOTIFICATION representing an audio environment change APO notification.

Remarks

Register for the types of notifications you want to receive by implementing IAudioProcessingObjectNotifications::GetApoNotificationRegistrationInfo. Receive the registered notifications by implementing IAudioProcessingObjectNotifications::HandleNotification.

For more information on the Windows 11 APIs for the Audio Processing Objects (APOs) that can ship with audio drivers, see Windows 11 APIs for Audio Processing Objects.

Requirements

Requirement Value
Minimum supported client Windows Build 22000
Header audioengineextensionapo.h