123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- // ----------------------------------------------------------------------------
- // PolicyConfig.h
- // Undocumented COM-interface IPolicyConfig.
- // Use for set default audio render endpoint
- // @author EreTIk
- // ----------------------------------------------------------------------------
- #ifndef RVC_POLICY_CONFIG_H__
- #define RVC_POLICY_CONFIG_H__
- #pragma once
- #include <mmeapi.h>
- #include <mmdeviceapi.h>
- interface DECLSPEC_UUID("f8679f50-850a-41cf-9c72-430f290290c8")
- IPolicyConfig;
- class DECLSPEC_UUID("870af99c-171d-4f9e-af0d-e63df40c2bc9")
- CPolicyConfigClient;
- // ----------------------------------------------------------------------------
- // class CPolicyConfigClient
- // {870af99c-171d-4f9e-af0d-e63df40c2bc9}
- //
- // interface IPolicyConfig
- // {f8679f50-850a-41cf-9c72-430f290290c8}
- //
- // Query interface:
- // CComPtr<IPolicyConfig> PolicyConfig;
- // PolicyConfig.CoCreateInstance(__uuidof(CPolicyConfigClient));
- //
- // @compatible: Windows 7 and Later
- // ----------------------------------------------------------------------------
- interface IPolicyConfig : public IUnknown
- {
- public:
- virtual HRESULT GetMixFormat(
- PCWSTR,
- WAVEFORMATEX **
- );
- virtual HRESULT STDMETHODCALLTYPE GetDeviceFormat(
- PCWSTR,
- INT,
- WAVEFORMATEX **
- );
- virtual HRESULT STDMETHODCALLTYPE ResetDeviceFormat(
- PCWSTR
- );
- virtual HRESULT STDMETHODCALLTYPE SetDeviceFormat(
- PCWSTR,
- WAVEFORMATEX *,
- WAVEFORMATEX *
- );
- virtual HRESULT STDMETHODCALLTYPE GetProcessingPeriod(
- PCWSTR,
- INT,
- PINT64,
- PINT64
- );
- virtual HRESULT STDMETHODCALLTYPE SetProcessingPeriod(
- PCWSTR,
- PINT64
- );
- virtual HRESULT STDMETHODCALLTYPE GetShareMode(
- PCWSTR,
- struct DeviceShareMode *
- );
- virtual HRESULT STDMETHODCALLTYPE SetShareMode(
- PCWSTR,
- struct DeviceShareMode *
- );
- virtual HRESULT STDMETHODCALLTYPE GetPropertyValue(
- PCWSTR,
- const PROPERTYKEY &,
- PROPVARIANT *
- );
- virtual HRESULT STDMETHODCALLTYPE SetPropertyValue(
- PCWSTR,
- const PROPERTYKEY &,
- PROPVARIANT *
- );
- virtual HRESULT STDMETHODCALLTYPE SetDefaultEndpoint(
- __in PCWSTR wszDeviceId,
- __in ERole eRole
- );
- virtual HRESULT STDMETHODCALLTYPE SetEndpointVisibility(
- PCWSTR,
- INT
- );
- };
- interface DECLSPEC_UUID("568b9108-44bf-40b4-9006-86afe5b5a620")
- IPolicyConfigVista;
- class DECLSPEC_UUID("294935CE-F637-4E7C-A41B-AB255460B862")
- CPolicyConfigVistaClient;
- // ----------------------------------------------------------------------------
- // class CPolicyConfigVistaClient
- // {294935CE-F637-4E7C-A41B-AB255460B862}
- //
- // interface IPolicyConfigVista
- // {568b9108-44bf-40b4-9006-86afe5b5a620}
- //
- // Query interface:
- // CComPtr<IPolicyConfigVista> PolicyConfig;
- // PolicyConfig.CoCreateInstance(__uuidof(CPolicyConfigVistaClient));
- //
- // @compatible: Windows Vista and Later
- // ----------------------------------------------------------------------------
- interface IPolicyConfigVista : public IUnknown
- {
- public:
- virtual HRESULT GetMixFormat(
- PCWSTR,
- WAVEFORMATEX **
- ); // not available on Windows 7, use method from IPolicyConfig
- virtual HRESULT STDMETHODCALLTYPE GetDeviceFormat(
- PCWSTR,
- INT,
- WAVEFORMATEX **
- );
- virtual HRESULT STDMETHODCALLTYPE SetDeviceFormat(
- PCWSTR,
- WAVEFORMATEX *,
- WAVEFORMATEX *
- );
- virtual HRESULT STDMETHODCALLTYPE GetProcessingPeriod(
- PCWSTR,
- INT,
- PINT64,
- PINT64
- ); // not available on Windows 7, use method from IPolicyConfig
- virtual HRESULT STDMETHODCALLTYPE SetProcessingPeriod(
- PCWSTR,
- PINT64
- ); // not available on Windows 7, use method from IPolicyConfig
- virtual HRESULT STDMETHODCALLTYPE GetShareMode(
- PCWSTR,
- struct DeviceShareMode *
- ); // not available on Windows 7, use method from IPolicyConfig
- virtual HRESULT STDMETHODCALLTYPE SetShareMode(
- PCWSTR,
- struct DeviceShareMode *
- ); // not available on Windows 7, use method from IPolicyConfig
- virtual HRESULT STDMETHODCALLTYPE GetPropertyValue(
- PCWSTR,
- const PROPERTYKEY &,
- PROPVARIANT *
- );
- virtual HRESULT STDMETHODCALLTYPE SetPropertyValue(
- PCWSTR,
- const PROPERTYKEY &,
- PROPVARIANT *
- );
- virtual HRESULT STDMETHODCALLTYPE SetDefaultEndpoint(
- __in PCWSTR wszDeviceId,
- __in ERole eRole
- );
- virtual HRESULT STDMETHODCALLTYPE SetEndpointVisibility(
- PCWSTR,
- INT
- ); // not available on Windows 7, use method from IPolicyConfig
- };
- #endif //RVC_POLICY_CONFIG_H__
|