3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Core Audio audio policy definitions
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright 2009 Maarten Lankhorst
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync/*
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncimport "oaidl.idl";
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncimport "ocidl.idl";
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncimport "propidl.idl";
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncimport "audiosessiontypes.h";
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncimport "audioclient.idl";
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionEvents;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionControl;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionControl2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionManager;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioVolumeDuckNotification;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionNotification;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionEnumerator;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionManager2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum AudioSessionDisconnectReason /*[local]*/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DisconnectReasonDeviceRemoval = 0,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DisconnectReasonServerShutdown,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DisconnectReasonFormatChanged,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DisconnectReasonSessionLogoff,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DisconnectReasonSessionDisconnected,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DisconnectReasonExclusiveModeOverride,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} AudioSessionDisconnectReason;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync local,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(24918acc-64b3-37c1-8ca9-74a66e9957a8),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync pointer_default(unique),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionEvents : IUnknown
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT OnDisplayNameChanged(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [string,in] LPCWSTR NewDisplayName,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] LPCGUID EventContext
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT OnIconPathChanged(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [string,in] LPCWSTR NewIconPath,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] LPCGUID EventContext
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT OnSimpleVolumeChanged(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] float NewVolume,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] BOOL NewMute,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] LPCGUID EventContext
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT OnChannelVolumeChanged(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] DWORD ChannelCount,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [size_is(ChannelCount),in] float *NewChannelVolumeArray,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] DWORD ChangedChannel,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] LPCGUID EventContext
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT OnGroupingParamChanged(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] LPCGUID NewGroupingParam,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] LPCGUID EventContext
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT OnStateChanged(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] AudioSessionState NewState
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT OnSessionDisconnected(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] AudioSessionDisconnectReason DisconnectReason
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync}
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync local,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(f4b1a599-7266-4319-a8ca-e70acb11e8cd),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync pointer_default(unique),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionControl : IUnknown
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetState(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [out] AudioSessionState *pRetVal
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetDisplayName(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [string,out] LPWSTR *pRetVal
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT SetDisplayName(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [string,in] LPCWSTR DisplayName,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [unique,in] LPCGUID EventContext
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetIconPath(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [string,out] LPWSTR *pRetVal
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT SetIconPath(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [string,in] LPCWSTR Value,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [unique,in] LPCGUID EventContext
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetGroupingParam(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [out] GUID *pRetVal
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT SetGroupingParam(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] LPCGUID Override,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [unique,in] LPCGUID EventContext
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT RegisterAudioSessionNotification(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] IAudioSessionEvents *NewNotifications
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT UnregisterAudioSessionNotification(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] IAudioSessionEvents *NewNotifications
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync}
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync local,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(bfb7ff88-7239-4fc9-8fa2-07c950be9c6d),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync pointer_default(unique),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionControl2 : IAudioSessionControl
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetSessionIdentifier(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [string,out] LPWSTR *pRetVal
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetSessionInstanceIdentifier(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [string,out] LPWSTR *pRetVal
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetProcessId(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [out] DWORD *pRetVal
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT IsSystemSoundsSession(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT SetDuckingPreferences(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] BOOL optOut
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync local,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(bfa971f1-4d5e-40bb-935e-967039bfbee4),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync pointer_default(unique),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionManager : IUnknown
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetAudioSessionControl(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] LPCGUID AudioSessionGuid,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] DWORD StreamFlags,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [out] IAudioSessionControl **SessionControl
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetSimpleAudioVolume(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] LPCGUID AudioSessionGuid,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] DWORD StreamFlags,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [out] ISimpleAudioVolume **AudioVolume
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync local,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(c3b284d4-6d39-4359-b3cf-b56ddb3bb39c),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync pointer_default(unique),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioVolumeDuckNotification : IUnknown
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT OnVolumeDuckNotification(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] LPCWSTR sessionID,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] UINT32 countCommunicationSessions
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT OnVolumeUnduckNotification(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] LPCWSTR sessionID
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync local,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(641dd20b-4d41-49cc-aba3-174b9477bb08),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync pointer_default(unique),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionNotification : IUnknown
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT OnSessionCreated(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] IAudioSessionControl *NewSession
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync local,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(e2f5bb11-0570-40ca-acdd-3aa01277dee8),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync pointer_default(unique),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionEnumerator : IUnknown
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetCount(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [out] INT *SessionCount
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetSession(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] INT SessionCount,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [out] IAudioSessionControl **Session
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync[
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync local,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync uuid(77aa99a0-1bd6-484f-8bc7-2c654c9a9b6f),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync pointer_default(unique),
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync object
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync]
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncinterface IAudioSessionManager2 : IAudioSessionManager
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT GetSessionEnumerator(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [retval,out] IAudioSessionEnumerator **SessionEnum
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT RegisterSessionNotification(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] IAudioSessionNotification *SessionNotification
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT UnregisterSessionNotification(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] IAudioSessionNotification *SessionNotification
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT RegisterDuckNotification(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [string,in] LPCWSTR sessionID,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] IAudioVolumeDuckNotification *duckNotification
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HRESULT UnregisterDuckNotification(
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in] IAudioVolumeDuckNotification *duckNotification
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};