APOInitSystemEffects2 structure

This structure contains initialization information which is passed to a mode-aware system effects APO for initialization.

Syntax

typedef struct _APOInitSystemEffects2 {
  APOInitBaseStruct                    APOInit;
  IPropertyStore                       *pAPOEndpointProperties;
  IPropertyStore                       *pAPOSystemEffectsProperties;
  void                                 *pReserved;
  IMMDeviceCollection                  *pDeviceCollection;
  UINT                                 nSoftwareIoDeviceInCollection;
  UINT                                 nSoftwareIoConnectorIndex;
  GUID                                 AudioProcessingMode;
  BOOL                                 InitializeForDiscoveryOnly;
} APOInitSystemEffects2, *PAPOInitSystemEffects2;

Members

  • APOInit
    The base initialization data.

  • pAPOEndpointProperties
    A pointer to an IPropertyStore object that contains the end point properties.

  • pAPOSystemEffectsProperties
    A pointer to an IPropertyStore object that contains the system effect properties.

  • pReserved
    Reserved for future use.

  • pDeviceCollection
    A pointer to an IMMDeviceCollection object.

  • nSoftwareIoDeviceInCollection
    Identifies which item in pDeviceCollection implements the device topology connector for which this APO is initialized.

  • nSoftwareIoConnectorIndex
    Identifies the device topology connector for which this APO is initialized. The APO uses this and nSoftwareIoDeviceInCollection to fully identify the device topology connector. The APO can optionally use this information to establish proprietary communication with its counterpart audio driver.

  • AudioProcessingMode
    Identifies the processing mode for which this APO is initialized. The APO should fail to initalize for modes it does not support.

  • InitializeForDiscoveryOnly
    true if the APO is being initialized only for the purpose of discovering effects. If the APO is initialized only for effects discovery, the APO may avoid any initialization and configuration required for actual signal processing functions.

Remarks

Windows passes this structure to the IAudioProcessingObject::Initialize method of an APO if the APO supports IAudioSystemEffects2.

If the APO supports IAudioSystemEffects2, then it must accept this structure in its implementation of IAudioProcessingObject::Initialize. The APO’s Initialize method must accept initialization data having the size of this structure or APOInitSystemEffects.

Only the last 4 members of APOInitSystemEffects2 are new relative to APOInitSystemEffects.

Requirements

Minimum supported client

Windows 8.1 [desktop apps only]

Minimum supported server

Windows Server 2012 R2 [desktop apps only]

Header

Audioenginebaseapo.h

See also

Core Audio Structures

APOInitSystemEffects