4 #include <pseh/pseh2.h>
17 #include "interface.h"
22 SOUND_DEVICE_TYPE Type
;
25 }WDMAUD_HANDLE
, *PWDMAUD_HANDLE
;
32 WDMAUD_HANDLE
* hPins
;
34 }WDMAUD_CLIENT
, *PWDMAUD_CLIENT
;
40 PFILE_OBJECT FileObject
;
42 LPMIXERCONTROLW LineControls
;
43 }MIXERLINE_EXT
, *LPMIXERLINE_EXT
;
49 PFILE_OBJECT MixerFileObject
;
55 }MIXER_INFO
, *LPMIXER_INFO
;
61 UNICODE_STRING SymbolicLink
;
62 }SYSAUDIO_ENTRY
, *PSYSAUDIO_ENTRY
;
66 KSDEVICE_HEADER DeviceHeader
;
67 PVOID SysAudioNotification
;
69 BOOL DeviceInterfaceSupport
;
72 ULONG NumSysAudioDevices
;
73 LIST_ENTRY SysAudioDeviceList
;
75 PFILE_OBJECT FileObject
;
78 LPMIXER_INFO MixerInfo
;
81 }WDMAUD_DEVICE_EXTENSION
, *PWDMAUD_DEVICE_EXTENSION
;
85 KSSTREAM_HEADER Header
;
87 }CONTEXT_WRITE
, *PCONTEXT_WRITE
;
90 WdmAudRegisterDeviceInterface(
91 IN PDEVICE_OBJECT PhysicalDeviceObject
,
92 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension
);
95 WdmAudOpenSysAudioDevices(
96 IN PDEVICE_OBJECT DeviceObject
,
97 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension
);
101 IN PDEVICE_OBJECT DeviceObject
,
102 IN PWDMAUD_CLIENT
*pClient
);
107 IN PDEVICE_OBJECT DeviceObject
,
113 IN PDEVICE_OBJECT DeviceObject
,
117 WdmAudControlOpenMixer(
118 IN PDEVICE_OBJECT DeviceObject
,
120 IN PWDMAUD_DEVICE_INFO DeviceInfo
,
121 IN PWDMAUD_CLIENT ClientInfo
);
124 GetNumOfMixerDevices(
125 IN PDEVICE_OBJECT DeviceObject
);
134 WdmAudOpenSysAudioDevice(
135 IN LPWSTR DeviceName
,
141 IN ULONG ProductNameSize
,
142 OUT LPWSTR ProductName
);
145 WdmAudMixerCapabilities(
146 IN PDEVICE_OBJECT DeviceObject
,
147 IN PWDMAUD_DEVICE_INFO DeviceInfo
,
148 IN PWDMAUD_CLIENT ClientInfo
,
149 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension
);
154 IN PDEVICE_OBJECT DeviceObject
,
156 IN PWDMAUD_DEVICE_INFO DeviceInfo
,
157 IN PWDMAUD_CLIENT ClientInfo
);
162 IN PDEVICE_OBJECT DeviceObject
,
164 IN PWDMAUD_DEVICE_INFO DeviceInfo
,
165 IN PWDMAUD_CLIENT ClientInfo
);
169 WdmAudGetLineControls(
170 IN PDEVICE_OBJECT DeviceObject
,
172 IN PWDMAUD_DEVICE_INFO DeviceInfo
,
173 IN PWDMAUD_CLIENT ClientInfo
);
177 WdmAudSetControlDetails(
178 IN PDEVICE_OBJECT DeviceObject
,
180 IN PWDMAUD_DEVICE_INFO DeviceInfo
,
181 IN PWDMAUD_CLIENT ClientInfo
);
185 WdmAudGetControlDetails(
186 IN PDEVICE_OBJECT DeviceObject
,
188 IN PWDMAUD_DEVICE_INFO DeviceInfo
,
189 IN PWDMAUD_CLIENT ClientInfo
);
192 WdmAudMixerInitialize(
193 IN PDEVICE_OBJECT DeviceObject
);