VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/endpointvolume.idl@ 69505

Last change on this file since 69505 was 53206, checked in by vboxsync, 10 years ago

Devices/vmsvga: header fixes

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.4 KB
Line 
1/*
2 * Copyright (C) 2009 Maarten Lankhorst
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19/*
20 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27
28import "unknwn.idl";
29import "devicetopology.idl";
30
31typedef struct AUDIO_VOLUME_NOTIFICATION_DATA
32{
33 GUID guidEventContext;
34 BOOL bMuted;
35 FLOAT fMasterVolume;
36 UINT nChannels;
37 FLOAT afChannelVolumes[1];
38} AUDIO_VOLUME_NOTIFICATION_DATA;
39
40cpp_quote("typedef struct AUDIO_VOLUME_NOTIFICATION_DATA *PAUDIO_VOLUME_NOTIFICATION_DATA;")
41
42cpp_quote("#define ENDPOINT_HARDWARE_SUPPORT_VOLUME 0x1")
43cpp_quote("#define ENDPOINT_HARDWARE_SUPPORT_MUTE 0x2")
44cpp_quote("#define ENDPOINT_HARDWARE_SUPPORT_METER 0x4")
45
46interface IAudioEndpointVolumeCallback;
47interface IAudioEndpointVolume;
48interface IAudioEndpointVolumeEx;
49interface IAudioMeterInformation;
50
51[
52 pointer_default(unique),
53 nonextensible,
54 uuid(657804fa-d6ad-4496-8a60-352752af4f89),
55 local,
56 object
57]
58interface IAudioEndpointVolumeCallback : IUnknown
59{
60 HRESULT OnNotify(
61 AUDIO_VOLUME_NOTIFICATION_DATA *pNotify
62 );
63}
64
65[
66 pointer_default(unique),
67 nonextensible,
68 uuid(5cdf2c82-841e-4546-9722-0cf74078229a),
69 local,
70 object
71]
72interface IAudioEndpointVolume : IUnknown
73{
74 HRESULT RegisterControlChangeNotify(
75 [in] IAudioEndpointVolumeCallback *pNotify
76 );
77 HRESULT UnregisterControlChangeNotify(
78 [in] IAudioEndpointVolumeCallback *pNotify
79 );
80 HRESULT GetChannelCount(
81 [out] UINT *pnChannelCount
82 );
83 HRESULT SetMasterVolumeLevel(
84 [in] FLOAT fLevelDB,
85 [unique,in] LPCGUID pguidEventContext
86 );
87 HRESULT SetMasterVolumeLevelScalar(
88 [in] FLOAT fLevel,
89 [unique,in] LPCGUID pguidEventContext
90 );
91 HRESULT GetMasterVolumeLevel(
92 [out] FLOAT *fLevelDB
93 );
94 HRESULT GetMasterVolumeLevelScalar(
95 [out] FLOAT *fLevel
96 );
97 HRESULT SetChannelVolumeLevel(
98 [in] UINT nChannel,
99 [in] FLOAT fLevelDB,
100 [unique,in] LPCGUID pguidEventContext
101 );
102 HRESULT SetChannelVolumeLevelScalar(
103 [in] UINT nChannel,
104 [in] FLOAT fLevel,
105 [unique,in] LPCGUID pguidEventContext
106 );
107 HRESULT GetChannelVolumeLevel(
108 [in] UINT nChannel,
109 [out] FLOAT *fLevelDB
110 );
111 HRESULT GetChannelVolumeLevelScalar(
112 [in] UINT nChannel,
113 [out] FLOAT *fLevel
114 );
115 HRESULT SetMute(
116 [in] BOOL bMute,
117 [unique,in] LPCGUID pguidEventContext
118 );
119 HRESULT GetMute(
120 [out] BOOL *bMute
121 );
122 HRESULT GetVolumeStepInfo(
123 [out] UINT *pnStep,
124 [out] UINT *pnStepCount
125 );
126 HRESULT VolumeStepUp(
127 [unique,in] LPCGUID pguidEventContext
128 );
129 HRESULT VolumeStepDown(
130 [unique,in] LPCGUID pguidEventContext
131 );
132 HRESULT QueryHardwareSupport(
133 [out] DWORD *pdwHardwareSupportMask
134 );
135 HRESULT GetVolumeRange(
136 [out] FLOAT *pflVolumeMindB,
137 [out] FLOAT *pflVolumeMaxdB,
138 [out] FLOAT *pflVolumeIncrementdB
139 );
140}
141
142[
143 pointer_default(unique),
144 nonextensible,
145 uuid(66e11784-f695-4f28-a505-a7080081a78f),
146 local,
147 object
148]
149interface IAudioEndpointVolumeEx : IAudioEndpointVolume
150{
151 HRESULT GetVolumeRangeChannel(
152 [in] UINT iChannel,
153 [out] FLOAT *pflVolumeMindB,
154 [out] FLOAT *pflVolumeMaxdB,
155 [out] FLOAT *pflVolumeIncrementdB
156 );
157}
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette