Definitions.cs 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. // -----------------------------------------
  2. // SoundScribe (TM) and related software.
  3. //
  4. // Copyright (C) 2007-2011 Vannatech
  5. // http://www.vannatech.com
  6. // All rights reserved.
  7. //
  8. // This source code is subject to the MIT License.
  9. // http://www.opensource.org/licenses/mit-license.php
  10. //
  11. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  12. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  13. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  14. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  15. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  16. // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  17. // THE SOFTWARE.
  18. // -----------------------------------------
  19. using System;
  20. using System.Runtime.InteropServices;
  21. using Vannatech.CoreAudio.Constants;
  22. // This file does not contain any actual interface members.
  23. // It is only intended to abstract away COM specifics, such as IIDs.
  24. namespace Vannatech.CoreAudio.Interfaces
  25. {
  26. // -------------------------------------------------
  27. // Begin MMDevice API definitions:
  28. // Defined in Mmdeviceapi.h
  29. // -------------------------------------------------
  30. [Guid(ComIIDs.IMMDeviceIID)]
  31. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  32. public partial interface IMMDevice { }
  33. [Guid(ComIIDs.IMMDeviceEnumeratorIID)]
  34. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  35. public partial interface IMMDeviceEnumerator { }
  36. [Guid(ComIIDs.IMMDeviceCollectionIID)]
  37. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  38. public partial interface IMMDeviceCollection { }
  39. [Guid(ComIIDs.IMMEndpointIID)]
  40. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  41. public partial interface IMMEndpoint { }
  42. [Guid(ComIIDs.IMMNotificationClientIID)]
  43. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  44. public partial interface IMMNotificationClient { }
  45. // -------------------------------------------------
  46. // Begin WASAPI definitions:
  47. // Defined in Audioclient.h and Audiopolicy.h
  48. // -------------------------------------------------
  49. [Guid(ComIIDs.IAudioCaptureClientIID)]
  50. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  51. public partial interface IAudioCaptureClient { }
  52. [Guid(ComIIDs.IAudioClientIID)]
  53. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  54. public partial interface IAudioClient { }
  55. [Guid(ComIIDs.IAudioClockIID)]
  56. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  57. public partial interface IAudioClock { }
  58. [Guid(ComIIDs.IAudioClock2IID)]
  59. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  60. public partial interface IAudioClock2 { }
  61. [Guid(ComIIDs.IAudioClockAdjustmentIID)]
  62. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  63. public partial interface IAudioClockAdjustment { }
  64. [Guid(ComIIDs.IAudioRenderClientIID)]
  65. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  66. public partial interface IAudioRenderClient { }
  67. [Guid(ComIIDs.IAudioSessionControlIID)]
  68. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  69. public partial interface IAudioSessionControl { }
  70. [Guid(ComIIDs.IAudioSessionControl2IID)]
  71. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  72. public partial interface IAudioSessionControl2 { }
  73. [Guid(ComIIDs.IAudioSessionEnumeratorIID)]
  74. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  75. public partial interface IAudioSessionEnumerator { }
  76. [Guid(ComIIDs.IAudioSessionEventsIID)]
  77. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  78. public partial interface IAudioSessionEvents { }
  79. [Guid(ComIIDs.IAudioSessionManagerIID)]
  80. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  81. public partial interface IAudioSessionManager { }
  82. [Guid(ComIIDs.IAudioSessionManager2IID)]
  83. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  84. public partial interface IAudioSessionManager2 { }
  85. [Guid(ComIIDs.IAudioSessionNotificationIID)]
  86. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  87. public partial interface IAudioSessionNotification { }
  88. [Guid(ComIIDs.IAudioStreamVolumeIID)]
  89. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  90. public partial interface IAudioStreamVolume { }
  91. [Guid(ComIIDs.IAudioVolumeDuckNotificationIID)]
  92. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  93. public partial interface IAudioVolumeDuckNotification { }
  94. [Guid(ComIIDs.IChannelAudioVolumeIID)]
  95. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  96. public partial interface IChannelAudioVolume { }
  97. [Guid(ComIIDs.ISimpleAudioVolumeIID)]
  98. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  99. public partial interface ISimpleAudioVolume { }
  100. // -------------------------------------------------
  101. // Begin DeviceTopology API definitions:
  102. // Defined in Devicetopology.h
  103. // -------------------------------------------------
  104. [Guid(ComIIDs.IAudioAutoGainControlIID)]
  105. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  106. public partial interface IAudioAutoGainControl { }
  107. [Guid(ComIIDs.IAudioBassIID)]
  108. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  109. public partial interface IAudioBass { }
  110. [Guid(ComIIDs.IAudioChannelConfigIID)]
  111. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  112. public partial interface IAudioChannelConfig { }
  113. [Guid(ComIIDs.IAudioInputSelectorIID)]
  114. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  115. public partial interface IAudioInputSelector { }
  116. [Guid(ComIIDs.IAudioLoudnessIID)]
  117. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  118. public partial interface IAudioLoudness { }
  119. [Guid(ComIIDs.IAudioMidrangeIID)]
  120. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  121. public partial interface IAudioMidrange { }
  122. [Guid(ComIIDs.IAudioMuteIID)]
  123. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  124. public partial interface IAudioMute { }
  125. [Guid(ComIIDs.IAudioOutputSelectorIID)]
  126. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  127. public partial interface IAudioOutputSelector { }
  128. [Guid(ComIIDs.IAudioPeakMeterIID)]
  129. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  130. public partial interface IAudioPeakMeter { }
  131. [Guid(ComIIDs.IAudioTrebleIID)]
  132. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  133. public partial interface IAudioTreble { }
  134. [Guid(ComIIDs.IAudioVolumeLevelIID)]
  135. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  136. public partial interface IAudioVolumeLevel { }
  137. [Guid(ComIIDs.IConnectorIID)]
  138. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  139. public partial interface IConnector { }
  140. [Guid(ComIIDs.IControlChangeNotifyIID)]
  141. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  142. public partial interface IControlChangeNotify { }
  143. [Guid(ComIIDs.IControlInterfaceIID)]
  144. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  145. public partial interface IControlInterface { }
  146. [Guid(ComIIDs.IDeviceSpecificPropertyIID)]
  147. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  148. public partial interface IDeviceSpecificProperty { }
  149. [Guid(ComIIDs.IDeviceTopologyIID)]
  150. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  151. public partial interface IDeviceTopology { }
  152. [Guid(ComIIDs.IKsFormatSupportIID)]
  153. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  154. public partial interface IKsFormatSupport { }
  155. [Guid(ComIIDs.IKsJackDescriptionIID)]
  156. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  157. public partial interface IKsJackDescription { }
  158. [Guid(ComIIDs.IKsJackDescription2IID)]
  159. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  160. public partial interface IKsJackDescription2 { }
  161. [Guid(ComIIDs.IKsJackSinkInformationIID)]
  162. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  163. public partial interface IKsJackSinkInformation { }
  164. [Guid(ComIIDs.IPartIID)]
  165. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  166. public partial interface IPart { }
  167. [Guid(ComIIDs.IPartsListIID)]
  168. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  169. public partial interface IPartsList { }
  170. [Guid(ComIIDs.IPerChannelDbLevelIID)]
  171. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  172. public partial interface IPerChannelDbLevel { }
  173. [Guid(ComIIDs.ISubunitIID)]
  174. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  175. public partial interface ISubunit { }
  176. // -------------------------------------------------
  177. // Begin EndpointVolume API definitions:
  178. // Defined in Endpointvolume.h
  179. // -------------------------------------------------
  180. [Guid(ComIIDs.IAudioEndpointVolumeIID)]
  181. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  182. public partial interface IAudioEndpointVolume { }
  183. [Guid(ComIIDs.IAudioEndpointVolumeExIID)]
  184. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  185. public partial interface IAudioEndpointVolumeEx { }
  186. [Guid(ComIIDs.IAudioMeterInformationIID)]
  187. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  188. public partial interface IAudioMeterInformation { }
  189. [Guid(ComIIDs.IAudioEndpointVolumeCallbackIID)]
  190. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  191. public partial interface IAudioEndpointVolumeCallback { }
  192. }