IAudioSystemEffects2::GetEffectsList method
Gets the list of signal processing effects currently active and stores an event to be signaled if the list changes.
Syntax
HRESULT GetEffectsList(
[out] ppEffectsIds *LPGUID,
[out] UINT *pcEffects,
[in] HANDLE Event
);
Parameters
- LPGUID [out]
-
Receives a pointer to a list of GUIDs. Each GUID identifies a class of effect.
The caller is responsible for freeing this memory by calling CoTaskMemFree.
- pcEffects [out]
-
Receives a value that specifies the number of GUIDs in LPGUID.
- Event [in]
-
An event handle which is signaled by the APO when the list changes.
The APO uses this event until either this function is called again or the APO is destroyed.
Event may be NULL. If Event is NULL, the APO stops using any previous handles and does not signal an event.
Return value
If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
Remarks
An APO implements this method to allow Windows to discover the current effects applied by the APO. The list of effects may depend on what signal processing mode the APO initialized, see AudioProcessingMode in the APOInitSystemEffects2 structure, as well as any end user configuration.
APOs should identify effects using GUIDs defined by Windows, such as AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION. An APO should define and return a custom GUID only in rare cases where the type of effect is clearly different than one of the types defined by Windows.
If there are no effects, the function still succeeds, but ppEffectsIds returns a NULL pointer and pcEffects returns a count of 0.
Requirements
|
Minimum supported client |
Windows 8.1 [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2012 R2 [desktop apps only] |
|
IDL |
|
See also