APOInitSystemEffects2 structure
This structure contains initialization information which is passed to a mode-aware system effects APO for initialization.
typedef struct _APOInitSystemEffects2 {
APOInitBaseStruct APOInit;
IPropertyStore *pAPOEndpointProperties;
IPropertyStore *pAPOSystemEffectsProperties;
void *pReserved;
IMMDeviceCollection *pDeviceCollection;
UINT nSoftwareIoDeviceInCollection;
UINT nSoftwareIoConnectorIndex;
GUID AudioProcessingMode;
BOOL InitializeForDiscoveryOnly;
} APOInitSystemEffects2, *PAPOInitSystemEffects2;
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.
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.
Minimum supported client |
Windows 8.1 [desktop apps only] |
Minimum supported server |
Windows Server 2012 R2 [desktop apps only] |
Header |
Audioenginebaseapo.h |