Spaces:
Runtime error
Runtime error
| /* this ALWAYS GENERATED file contains the definitions for the interfaces */ | |
| /* File created by MIDL compiler version 7.00.0499 */ | |
| /* Compiler settings for mmdeviceapi.idl: | |
| Oicf, W1, Zp8, env=Win32 (32b run) | |
| protocol : dce , ms_ext, c_ext, robust | |
| error checks: allocation ref bounds_check enum stub_data | |
| VC __declspec() decoration level: | |
| __declspec(uuid()), __declspec(selectany), __declspec(novtable) | |
| DECLSPEC_UUID(), MIDL_INTERFACE() | |
| */ | |
| //@@MIDL_FILE_HEADING( ) | |
| /* verify that the <rpcndr.h> version is high enough to compile this file*/ | |
| /* verify that the <rpcsal.h> version is high enough to compile this file*/ | |
| /* Forward Declarations */ | |
| typedef interface IMMNotificationClient IMMNotificationClient; | |
| typedef interface IMMDevice IMMDevice; | |
| typedef interface IMMDeviceCollection IMMDeviceCollection; | |
| typedef interface IMMEndpoint IMMEndpoint; | |
| typedef interface IMMDeviceEnumerator IMMDeviceEnumerator; | |
| typedef interface IMMDeviceActivator IMMDeviceActivator; | |
| typedef class MMDeviceEnumerator MMDeviceEnumerator; | |
| typedef struct MMDeviceEnumerator MMDeviceEnumerator; | |
| /* header files for imported files */ | |
| extern "C"{ | |
| /* interface __MIDL_itf_mmdeviceapi_0000_0000 */ | |
| /* [local] */ | |
| DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_FormFactor, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 0); | |
| DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_ControlPanelPageProvider, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 1); | |
| DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_Association, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 2); | |
| DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_PhysicalSpeakers, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 3); | |
| DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_GUID, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 4); | |
| DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_Disable_SysFx, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 5); | |
| DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_FullRangeSpeakers, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 6); | |
| DEFINE_PROPERTYKEY(PKEY_AudioEngine_DeviceFormat, 0xf19f064d, 0x82c, 0x4e27, 0xbc, 0x73, 0x68, 0x82, 0xa1, 0xbb, 0x8e, 0x4c, 0); | |
| typedef struct tagDIRECTX_AUDIO_ACTIVATION_PARAMS | |
| { | |
| DWORD cbDirectXAudioActivationParams; | |
| GUID guidAudioSession; | |
| DWORD dwAudioStreamFlags; | |
| } DIRECTX_AUDIO_ACTIVATION_PARAMS; | |
| typedef struct tagDIRECTX_AUDIO_ACTIVATION_PARAMS *PDIRECTX_AUDIO_ACTIVATION_PARAMS; | |
| typedef /* [public][public][public][public][public] */ | |
| enum __MIDL___MIDL_itf_mmdeviceapi_0000_0000_0001 | |
| { eRender = 0, | |
| eCapture = ( eRender + 1 ) , | |
| eAll = ( eCapture + 1 ) , | |
| EDataFlow_enum_count = ( eAll + 1 ) | |
| } EDataFlow; | |
| typedef /* [public][public][public] */ | |
| enum __MIDL___MIDL_itf_mmdeviceapi_0000_0000_0002 | |
| { eConsole = 0, | |
| eMultimedia = ( eConsole + 1 ) , | |
| eCommunications = ( eMultimedia + 1 ) , | |
| ERole_enum_count = ( eCommunications + 1 ) | |
| } ERole; | |
| typedef /* [public] */ | |
| enum __MIDL___MIDL_itf_mmdeviceapi_0000_0000_0003 | |
| { RemoteNetworkDevice = 0, | |
| Speakers = ( RemoteNetworkDevice + 1 ) , | |
| LineLevel = ( Speakers + 1 ) , | |
| Headphones = ( LineLevel + 1 ) , | |
| Microphone = ( Headphones + 1 ) , | |
| Headset = ( Microphone + 1 ) , | |
| Handset = ( Headset + 1 ) , | |
| UnknownDigitalPassthrough = ( Handset + 1 ) , | |
| SPDIF = ( UnknownDigitalPassthrough + 1 ) , | |
| HDMI = ( SPDIF + 1 ) , | |
| UnknownFormFactor = ( HDMI + 1 ) | |
| } EndpointFormFactor; | |
| extern RPC_IF_HANDLE __MIDL_itf_mmdeviceapi_0000_0000_v0_0_c_ifspec; | |
| extern RPC_IF_HANDLE __MIDL_itf_mmdeviceapi_0000_0000_v0_0_s_ifspec; | |
| /* interface IMMNotificationClient */ | |
| /* [unique][helpstring][nonextensible][uuid][local][object] */ | |
| EXTERN_C const IID IID_IMMNotificationClient; | |
| MIDL_INTERFACE("7991EEC9-7E89-4D85-8390-6C703CEC60C0") | |
| IMMNotificationClient : public IUnknown | |
| { | |
| public: | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnDeviceStateChanged( | |
| /* [in] */ | |
| __in LPCWSTR pwstrDeviceId, | |
| /* [in] */ | |
| __in DWORD dwNewState) = 0; | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnDeviceAdded( | |
| /* [in] */ | |
| __in LPCWSTR pwstrDeviceId) = 0; | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnDeviceRemoved( | |
| /* [in] */ | |
| __in LPCWSTR pwstrDeviceId) = 0; | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnDefaultDeviceChanged( | |
| /* [in] */ | |
| __in EDataFlow flow, | |
| /* [in] */ | |
| __in ERole role, | |
| /* [in] */ | |
| __in LPCWSTR pwstrDefaultDeviceId) = 0; | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnPropertyValueChanged( | |
| /* [in] */ | |
| __in LPCWSTR pwstrDeviceId, | |
| /* [in] */ | |
| __in const PROPERTYKEY key) = 0; | |
| }; | |
| typedef struct IMMNotificationClientVtbl | |
| { | |
| BEGIN_INTERFACE | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | |
| IMMNotificationClient * This, | |
| /* [in] */ REFIID riid, | |
| /* [iid_is][out] */ | |
| __RPC__deref_out void **ppvObject); | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | |
| IMMNotificationClient * This); | |
| ULONG ( STDMETHODCALLTYPE *Release )( | |
| IMMNotificationClient * This); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnDeviceStateChanged )( | |
| IMMNotificationClient * This, | |
| /* [in] */ | |
| __in LPCWSTR pwstrDeviceId, | |
| /* [in] */ | |
| __in DWORD dwNewState); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnDeviceAdded )( | |
| IMMNotificationClient * This, | |
| /* [in] */ | |
| __in LPCWSTR pwstrDeviceId); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnDeviceRemoved )( | |
| IMMNotificationClient * This, | |
| /* [in] */ | |
| __in LPCWSTR pwstrDeviceId); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnDefaultDeviceChanged )( | |
| IMMNotificationClient * This, | |
| /* [in] */ | |
| __in EDataFlow flow, | |
| /* [in] */ | |
| __in ERole role, | |
| /* [in] */ | |
| __in LPCWSTR pwstrDefaultDeviceId); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnPropertyValueChanged )( | |
| IMMNotificationClient * This, | |
| /* [in] */ | |
| __in LPCWSTR pwstrDeviceId, | |
| /* [in] */ | |
| __in const PROPERTYKEY key); | |
| END_INTERFACE | |
| } IMMNotificationClientVtbl; | |
| interface IMMNotificationClient | |
| { | |
| CONST_VTBL struct IMMNotificationClientVtbl *lpVtbl; | |
| }; | |
| /* interface IMMDevice */ | |
| /* [unique][helpstring][nonextensible][uuid][local][object] */ | |
| EXTERN_C const IID IID_IMMDevice; | |
| MIDL_INTERFACE("D666063F-1587-4E43-81F1-B948E807363F") | |
| IMMDevice : public IUnknown | |
| { | |
| public: | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Activate( | |
| /* [in] */ | |
| __in REFIID iid, | |
| /* [in] */ | |
| __in DWORD dwClsCtx, | |
| /* [unique][in] */ | |
| __in_opt PROPVARIANT *pActivationParams, | |
| /* [iid_is][out] */ | |
| __out void **ppInterface) = 0; | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenPropertyStore( | |
| /* [in] */ | |
| __in DWORD stgmAccess, | |
| /* [out] */ | |
| __out IPropertyStore **ppProperties) = 0; | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetId( | |
| /* [out] */ | |
| __deref_out LPWSTR *ppstrId) = 0; | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetState( | |
| /* [out] */ | |
| __out DWORD *pdwState) = 0; | |
| }; | |
| typedef struct IMMDeviceVtbl | |
| { | |
| BEGIN_INTERFACE | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | |
| IMMDevice * This, | |
| /* [in] */ REFIID riid, | |
| /* [iid_is][out] */ | |
| __RPC__deref_out void **ppvObject); | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | |
| IMMDevice * This); | |
| ULONG ( STDMETHODCALLTYPE *Release )( | |
| IMMDevice * This); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Activate )( | |
| IMMDevice * This, | |
| /* [in] */ | |
| __in REFIID iid, | |
| /* [in] */ | |
| __in DWORD dwClsCtx, | |
| /* [unique][in] */ | |
| __in_opt PROPVARIANT *pActivationParams, | |
| /* [iid_is][out] */ | |
| __out void **ppInterface); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OpenPropertyStore )( | |
| IMMDevice * This, | |
| /* [in] */ | |
| __in DWORD stgmAccess, | |
| /* [out] */ | |
| __out IPropertyStore **ppProperties); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetId )( | |
| IMMDevice * This, | |
| /* [out] */ | |
| __deref_out LPWSTR *ppstrId); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetState )( | |
| IMMDevice * This, | |
| /* [out] */ | |
| __out DWORD *pdwState); | |
| END_INTERFACE | |
| } IMMDeviceVtbl; | |
| interface IMMDevice | |
| { | |
| CONST_VTBL struct IMMDeviceVtbl *lpVtbl; | |
| }; | |
| /* interface IMMDeviceCollection */ | |
| /* [unique][helpstring][nonextensible][uuid][local][object] */ | |
| EXTERN_C const IID IID_IMMDeviceCollection; | |
| MIDL_INTERFACE("0BD7A1BE-7A1A-44DB-8397-CC5392387B5E") | |
| IMMDeviceCollection : public IUnknown | |
| { | |
| public: | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCount( | |
| /* [out] */ | |
| __out UINT *pcDevices) = 0; | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( | |
| /* [in] */ | |
| __in UINT nDevice, | |
| /* [out] */ | |
| __out IMMDevice **ppDevice) = 0; | |
| }; | |
| typedef struct IMMDeviceCollectionVtbl | |
| { | |
| BEGIN_INTERFACE | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | |
| IMMDeviceCollection * This, | |
| /* [in] */ REFIID riid, | |
| /* [iid_is][out] */ | |
| __RPC__deref_out void **ppvObject); | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | |
| IMMDeviceCollection * This); | |
| ULONG ( STDMETHODCALLTYPE *Release )( | |
| IMMDeviceCollection * This); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCount )( | |
| IMMDeviceCollection * This, | |
| /* [out] */ | |
| __out UINT *pcDevices); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( | |
| IMMDeviceCollection * This, | |
| /* [in] */ | |
| __in UINT nDevice, | |
| /* [out] */ | |
| __out IMMDevice **ppDevice); | |
| END_INTERFACE | |
| } IMMDeviceCollectionVtbl; | |
| interface IMMDeviceCollection | |
| { | |
| CONST_VTBL struct IMMDeviceCollectionVtbl *lpVtbl; | |
| }; | |
| /* interface IMMEndpoint */ | |
| /* [unique][helpstring][nonextensible][uuid][local][object] */ | |
| EXTERN_C const IID IID_IMMEndpoint; | |
| MIDL_INTERFACE("1BE09788-6894-4089-8586-9A2A6C265AC5") | |
| IMMEndpoint : public IUnknown | |
| { | |
| public: | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDataFlow( | |
| /* [out] */ | |
| __out EDataFlow *pDataFlow) = 0; | |
| }; | |
| typedef struct IMMEndpointVtbl | |
| { | |
| BEGIN_INTERFACE | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | |
| IMMEndpoint * This, | |
| /* [in] */ REFIID riid, | |
| /* [iid_is][out] */ | |
| __RPC__deref_out void **ppvObject); | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | |
| IMMEndpoint * This); | |
| ULONG ( STDMETHODCALLTYPE *Release )( | |
| IMMEndpoint * This); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDataFlow )( | |
| IMMEndpoint * This, | |
| /* [out] */ | |
| __out EDataFlow *pDataFlow); | |
| END_INTERFACE | |
| } IMMEndpointVtbl; | |
| interface IMMEndpoint | |
| { | |
| CONST_VTBL struct IMMEndpointVtbl *lpVtbl; | |
| }; | |
| /* interface IMMDeviceEnumerator */ | |
| /* [unique][helpstring][nonextensible][uuid][local][object] */ | |
| EXTERN_C const IID IID_IMMDeviceEnumerator; | |
| MIDL_INTERFACE("A95664D2-9614-4F35-A746-DE8DB63617E6") | |
| IMMDeviceEnumerator : public IUnknown | |
| { | |
| public: | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnumAudioEndpoints( | |
| /* [in] */ | |
| __in EDataFlow dataFlow, | |
| /* [in] */ | |
| __in DWORD dwStateMask, | |
| /* [out] */ | |
| __out IMMDeviceCollection **ppDevices) = 0; | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDefaultAudioEndpoint( | |
| /* [in] */ | |
| __in EDataFlow dataFlow, | |
| /* [in] */ | |
| __in ERole role, | |
| /* [out] */ | |
| __out IMMDevice **ppEndpoint) = 0; | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDevice( | |
| /* */ | |
| __in LPCWSTR pwstrId, | |
| /* [out] */ | |
| __out IMMDevice **ppDevice) = 0; | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RegisterEndpointNotificationCallback( | |
| /* [in] */ | |
| __in IMMNotificationClient *pClient) = 0; | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UnregisterEndpointNotificationCallback( | |
| /* [in] */ | |
| __in IMMNotificationClient *pClient) = 0; | |
| }; | |
| typedef struct IMMDeviceEnumeratorVtbl | |
| { | |
| BEGIN_INTERFACE | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | |
| IMMDeviceEnumerator * This, | |
| /* [in] */ REFIID riid, | |
| /* [iid_is][out] */ | |
| __RPC__deref_out void **ppvObject); | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | |
| IMMDeviceEnumerator * This); | |
| ULONG ( STDMETHODCALLTYPE *Release )( | |
| IMMDeviceEnumerator * This); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EnumAudioEndpoints )( | |
| IMMDeviceEnumerator * This, | |
| /* [in] */ | |
| __in EDataFlow dataFlow, | |
| /* [in] */ | |
| __in DWORD dwStateMask, | |
| /* [out] */ | |
| __out IMMDeviceCollection **ppDevices); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDefaultAudioEndpoint )( | |
| IMMDeviceEnumerator * This, | |
| /* [in] */ | |
| __in EDataFlow dataFlow, | |
| /* [in] */ | |
| __in ERole role, | |
| /* [out] */ | |
| __out IMMDevice **ppEndpoint); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDevice )( | |
| IMMDeviceEnumerator * This, | |
| /* */ | |
| __in LPCWSTR pwstrId, | |
| /* [out] */ | |
| __out IMMDevice **ppDevice); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RegisterEndpointNotificationCallback )( | |
| IMMDeviceEnumerator * This, | |
| /* [in] */ | |
| __in IMMNotificationClient *pClient); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UnregisterEndpointNotificationCallback )( | |
| IMMDeviceEnumerator * This, | |
| /* [in] */ | |
| __in IMMNotificationClient *pClient); | |
| END_INTERFACE | |
| } IMMDeviceEnumeratorVtbl; | |
| interface IMMDeviceEnumerator | |
| { | |
| CONST_VTBL struct IMMDeviceEnumeratorVtbl *lpVtbl; | |
| }; | |
| /* interface IMMDeviceActivator */ | |
| /* [unique][helpstring][nonextensible][uuid][local][object] */ | |
| EXTERN_C const IID IID_IMMDeviceActivator; | |
| MIDL_INTERFACE("3B0D0EA4-D0A9-4B0E-935B-09516746FAC0") | |
| IMMDeviceActivator : public IUnknown | |
| { | |
| public: | |
| virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Activate( | |
| /* [in] */ | |
| __in REFIID iid, | |
| /* [in] */ | |
| __in IMMDevice *pDevice, | |
| /* [in] */ | |
| __in_opt PROPVARIANT *pActivationParams, | |
| /* [iid_is][out] */ | |
| __out void **ppInterface) = 0; | |
| }; | |
| typedef struct IMMDeviceActivatorVtbl | |
| { | |
| BEGIN_INTERFACE | |
| HRESULT ( STDMETHODCALLTYPE *QueryInterface )( | |
| IMMDeviceActivator * This, | |
| /* [in] */ REFIID riid, | |
| /* [iid_is][out] */ | |
| __RPC__deref_out void **ppvObject); | |
| ULONG ( STDMETHODCALLTYPE *AddRef )( | |
| IMMDeviceActivator * This); | |
| ULONG ( STDMETHODCALLTYPE *Release )( | |
| IMMDeviceActivator * This); | |
| /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Activate )( | |
| IMMDeviceActivator * This, | |
| /* [in] */ | |
| __in REFIID iid, | |
| /* [in] */ | |
| __in IMMDevice *pDevice, | |
| /* [in] */ | |
| __in_opt PROPVARIANT *pActivationParams, | |
| /* [iid_is][out] */ | |
| __out void **ppInterface); | |
| END_INTERFACE | |
| } IMMDeviceActivatorVtbl; | |
| interface IMMDeviceActivator | |
| { | |
| CONST_VTBL struct IMMDeviceActivatorVtbl *lpVtbl; | |
| }; | |
| /* interface __MIDL_itf_mmdeviceapi_0000_0006 */ | |
| /* [local] */ | |
| typedef /* [public] */ struct __MIDL___MIDL_itf_mmdeviceapi_0000_0006_0001 | |
| { | |
| LPARAM AddPageParam; | |
| IMMDevice *pEndpoint; | |
| IMMDevice *pPnpInterface; | |
| IMMDevice *pPnpDevnode; | |
| } AudioExtensionParams; | |
| extern RPC_IF_HANDLE __MIDL_itf_mmdeviceapi_0000_0006_v0_0_c_ifspec; | |
| extern RPC_IF_HANDLE __MIDL_itf_mmdeviceapi_0000_0006_v0_0_s_ifspec; | |
| /* library MMDeviceAPILib */ | |
| /* [helpstring][version][uuid] */ | |
| EXTERN_C const IID LIBID_MMDeviceAPILib; | |
| EXTERN_C const CLSID CLSID_MMDeviceEnumerator; | |
| class DECLSPEC_UUID("BCDE0395-E52F-467C-8E3D-C4579291692E") | |
| MMDeviceEnumerator; | |
| /* Additional Prototypes for ALL interfaces */ | |
| /* end of Additional Prototypes */ | |
| } | |