ReactOS 0.4.15-dev-8096-ga0eec98
wdmaud.h
Go to the documentation of this file.
1#ifndef _WDMAUD_PCH_
2#define _WDMAUD_PCH_
3
4#include <portcls.h>
5#include <mmsystem.h>
6
7#include "interface.h"
8
9typedef struct
10{
16
17
18typedef struct
19{
26
27typedef struct
28{
33
36
37typedef struct
38{
44
45typedef struct
46{
50
51typedef struct
52{
55
57
64
69
72
73typedef struct
74{
79
80
84 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension,
85 IN ULONG FilterId,
86 IN ULONG PinId,
87 IN LPWAVEFORMATEX WaveFormatEx,
89 OUT PHANDLE PinHandle);
90
94 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension);
95
99 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension);
100
104 IN PWDMAUD_CLIENT *pClient);
105
107NTAPI
110 IN PIRP Irp);
111
113NTAPI
116 IN PIRP Irp);
117
119NTAPI
122 IN PIRP Irp);
123
127 IN PIRP Irp,
130
134 IN PIRP Irp,
137 IN ULONG Index);
138
139VOID
143 IN ULONG Index);
144
148 IN PIRP Irp,
151
155 IN PIRP Irp,
158
159ULONG
162
165 IN PIRP Irp,
167 IN ULONG Length);
168
173
177 IN ULONG ProductNameSize,
178 OUT LPWSTR ProductName);
179
185 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension);
186
192 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension);
193
199 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension);
200
202NTAPI
205 _In_ PIRP Irp,
207
209NTAPI
212 IN PIRP Irp,
215
217NTAPI
220 IN PIRP Irp,
223
225NTAPI
228 IN PIRP Irp,
231
233NTAPI
236 IN PIRP Irp,
239
241NTAPI
244 IN PIRP Irp,
247
249NTAPI
252 IN PIRP Irp,
255
259
261NTAPI
264
265ULONG
268 IN ULONG FilterId,
269 IN ULONG PinId,
271
275 IN ULONG FilterId,
276 IN ULONG PinId,
278 IN HANDLE PinHandle,
279 IN ULONG FreeIndex);
280
284 IN ULONG DeviceIndex,
285 OUT LPWSTR * Device);
286
290 IN ULONG DeviceIndex,
293
299
300ULONG
302
303ULONG
305
306ULONG
308
309ULONG
311
312ULONG
314
317 IN ULONG DeviceIndex,
319 OUT LPWSTR *Device);
320
321
322/* sup.c */
323
324ULONG
327
328
329PVOID
333
334VOID
336 IN PVOID Item);
337
338#endif /* _WDMAUD_PCH_ */
LONG NTSTATUS
Definition: precomp.h:26
PDEVICE_OBJECT PhysicalDeviceObject
Definition: btrfs_drv.h:1157
_In_ PIRP Irp
Definition: csq.h:116
MMRESULT WdmAudGetLineControls(IN HANDLE hMixer, IN DWORD MixerId, IN LPMIXERLINECONTROLSW MixControls, IN ULONG Flags)
Definition: mmixer.c:413
MMRESULT WdmAudGetControlDetails(IN HANDLE hMixer, IN DWORD MixerId, IN LPMIXERCONTROLDETAILS MixDetails, IN ULONG Flags)
Definition: mmixer.c:440
MMRESULT WdmAudGetLineInfo(IN HANDLE hMixer, IN DWORD MixerId, IN LPMIXERLINEW MixLine, IN ULONG Flags)
Definition: mmixer.c:400
MMRESULT WdmAudSetControlDetails(IN HANDLE hMixer, IN DWORD MixerId, IN LPMIXERCONTROLDETAILS MixDetails, IN ULONG Flags)
Definition: mmixer.c:426
ULONG WdmAudGetMidiOutDeviceCount()
Definition: mmixer.c:687
ULONG WdmAudGetWaveInDeviceCount()
Definition: mmixer.c:669
ULONG WdmAudGetWaveOutDeviceCount()
Definition: mmixer.c:675
ULONG WdmAudGetMidiInDeviceCount()
Definition: mmixer.c:681
ULONG WdmAudGetMixerDeviceCount()
Definition: mmixer.c:663
NTSTATUS NTAPI WdmAudDeviceControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: control.c:302
NTSTATUS GetSysAudioDevicePnpName(IN PDEVICE_OBJECT DeviceObject, IN ULONG DeviceIndex, OUT LPWSTR *Device)
Definition: sup.c:346
NTSTATUS NTAPI OpenWavePin(IN PWDMAUD_DEVICE_EXTENSION DeviceExtension, IN ULONG FilterId, IN ULONG PinId, IN LPWAVEFORMATEX WaveFormatEx, IN ACCESS_MASK DesiredAccess, OUT PHANDLE PinHandle)
PVOID AllocateItem(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes)
Definition: misc.c:29
NTSTATUS WdmAudMidiCapabilities(IN PDEVICE_OBJECT DeviceObject, IN PWDMAUD_DEVICE_INFO DeviceInfo, IN PWDMAUD_CLIENT ClientInfo, IN PWDMAUD_DEVICE_EXTENSION DeviceExtension)
Definition: mmixer.c:747
NTSTATUS NTAPI WdmAudFrameSize(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PWDMAUD_DEVICE_INFO DeviceInfo, IN PWDMAUD_CLIENT ClientInfo)
Definition: control.c:180
struct WDMAUD_CLIENT * PWDMAUD_CLIENT
struct WDMAUD_COMPLETION_CONTEXT * PWDMAUD_COMPLETION_CONTEXT
struct WDMAUD_HANDLE * PWDMAUD_HANDLE
NTSTATUS WdmAudMixerInitialize(IN PDEVICE_OBJECT DeviceObject)
Definition: mmixer.c:380
NTSTATUS OpenDevice(IN LPWSTR Device, OUT PHANDLE DeviceHandle, OUT PFILE_OBJECT *FileObject)
Definition: sup.c:394
NTSTATUS WdmAudGetPnpNameByIndexAndType(IN ULONG DeviceIndex, IN SOUND_DEVICE_TYPE DeviceType, OUT LPWSTR *Device)
Definition: mmixer.c:693
struct WDMAUD_DEVICE_EXTENSION * PWDMAUD_DEVICE_EXTENSION
struct EVENT_ENTRY * PEVENT_ENTRY
NTSTATUS InsertPinHandle(IN PWDMAUD_CLIENT ClientInfo, IN ULONG FilterId, IN ULONG PinId, IN SOUND_DEVICE_TYPE DeviceType, IN HANDLE PinHandle, IN ULONG FreeIndex)
Definition: sup.c:96
NTSTATUS WdmAudControlOpenMixer(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PWDMAUD_DEVICE_INFO DeviceInfo, IN PWDMAUD_CLIENT ClientInfo)
Definition: mmixer.c:411
NTSTATUS WdmAudRegisterDeviceInterface(IN PDEVICE_OBJECT PhysicalDeviceObject, IN PWDMAUD_DEVICE_EXTENSION DeviceExtension)
Definition: deviface.c:186
NTSTATUS FindProductName(IN LPWSTR PnpName, IN ULONG ProductNameSize, OUT LPWSTR ProductName)
Definition: sup.c:243
NTSTATUS WdmAudOpenSysaudio(IN PDEVICE_OBJECT DeviceObject, IN PWDMAUD_CLIENT *pClient)
Definition: deviface.c:206
NTSTATUS WdmAudWaveCapabilities(IN PDEVICE_OBJECT DeviceObject, IN PWDMAUD_DEVICE_INFO DeviceInfo, IN PWDMAUD_CLIENT ClientInfo, IN PWDMAUD_DEVICE_EXTENSION DeviceExtension)
Definition: mmixer.c:721
ULONG ClosePin(IN PWDMAUD_CLIENT ClientInfo, IN ULONG FilterId, IN ULONG PinId, IN SOUND_DEVICE_TYPE DeviceType)
Definition: sup.c:72
VOID WdmAudCloseAllMixers(IN PDEVICE_OBJECT DeviceObject, IN PWDMAUD_CLIENT ClientInfo, IN ULONG Index)
Definition: mmixer.c:501
NTSTATUS NTAPI WdmAudGetPosition(_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp, _In_ PWDMAUD_DEVICE_INFO DeviceInfo)
Definition: mmixer.c:774
NTSTATUS NTAPI WdmAudReadWrite(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: control.c:437
struct SYSAUDIO_ENTRY * PSYSAUDIO_ENTRY
NTSTATUS WdmAudControlOpenWave(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PWDMAUD_DEVICE_INFO DeviceInfo, IN PWDMAUD_CLIENT ClientInfo)
Definition: mmixer.c:847
NTSTATUS OpenSysAudioDeviceByIndex(IN PDEVICE_OBJECT DeviceObject, IN ULONG DeviceIndex, IN PHANDLE DeviceHandle, IN PFILE_OBJECT *FileObject)
NTSTATUS NTAPI WdmAudWaveInitialize(IN PDEVICE_OBJECT DeviceObject)
NTSTATUS NTAPI WdmAudWrite(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
struct PIN_CREATE_CONTEXT * PPIN_CREATE_CONTEXT
NTSTATUS WdmAudOpenSysAudioDevice(IN LPWSTR DeviceName, OUT PHANDLE Handle)
Definition: deviface.c:16
NTSTATUS WdmAudOpenSysAudioDevices(IN PDEVICE_OBJECT DeviceObject, IN PWDMAUD_DEVICE_EXTENSION DeviceExtension)
Definition: deviface.c:93
NTSTATUS NTAPI WdmAudGetMixerEvent(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PWDMAUD_DEVICE_INFO DeviceInfo, IN PWDMAUD_CLIENT ClientInfo)
Definition: mmixer.c:620
VOID FreeItem(IN PVOID Item)
Definition: misc.c:37
NTSTATUS WdmAudControlOpenMidi(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PWDMAUD_DEVICE_INFO DeviceInfo, IN PWDMAUD_CLIENT ClientInfo)
Definition: mmixer.c:869
NTSTATUS WdmAudMixerCapabilities(IN PDEVICE_OBJECT DeviceObject, IN PWDMAUD_DEVICE_INFO DeviceInfo, IN PWDMAUD_CLIENT ClientInfo, IN PWDMAUD_DEVICE_EXTENSION DeviceExtension)
Definition: mmixer.c:398
ULONG GetNumOfMixerDevices(IN PDEVICE_OBJECT DeviceObject)
NTSTATUS SetIrpIoStatus(IN PIRP Irp, IN NTSTATUS Status, IN ULONG Length)
Definition: sup.c:59
ULONG GetSysAudioDeviceCount(IN PDEVICE_OBJECT DeviceObject)
Definition: sup.c:35
NTSTATUS WdmAudControlCloseMixer(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PWDMAUD_DEVICE_INFO DeviceInfo, IN PWDMAUD_CLIENT ClientInfo, IN ULONG Index)
Definition: mmixer.c:475
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
unsigned int BOOL
Definition: ntddk_ex.h:94
ULONG Handle
Definition: gdb_input.c:15
Status
Definition: gdiplustypes.h:25
_Inout_ PUSB_DEVICE_HANDLE DeviceHandle
Definition: hubbusif.h:121
CLIENT_DATA ClientInfo
DeviceType
Definition: mmdrv.h:42
#define _In_
Definition: ms_sal.h:308
ULONG ACCESS_MASK
Definition: nt_native.h:40
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
static PNP_ID_NAME PnpName[]
Definition: pnpdump.c:52
SOUND_DEVICE_TYPE
Definition: sndtypes.h:26
Definition: wdmaud.h:38
ULONG Value
Definition: wdmaud.h:41
HANDLE hMixer
Definition: wdmaud.h:42
LIST_ENTRY Entry
Definition: wdmaud.h:39
ULONG NotificationType
Definition: wdmaud.h:40
PWDMAUD_CLIENT ClientInfo
Definition: wdmaud.h:75
PWDMAUD_DEVICE_EXTENSION DeviceExtension
Definition: wdmaud.h:76
SOUND_DEVICE_TYPE DeviceType
Definition: wdmaud.h:77
Definition: wdmaud.h:46
LIST_ENTRY Entry
Definition: wdmaud.h:47
UNICODE_STRING SymbolicLink
Definition: wdmaud.h:48
WDMAUD_HANDLE * hPins
Definition: wdmaud.h:32
LIST_ENTRY MixerEventList
Definition: wdmaud.h:34
ULONG NumPins
Definition: wdmaud.h:31
LIST_ENTRY Entry
Definition: wdmaud.h:29
HANDLE hProcess
Definition: wdmaud.h:30
PFILE_OBJECT FileObject
Definition: wdmaud.h:14
LIST_ENTRY SysAudioDeviceList
Definition: wdmaud.h:60
PFILE_OBJECT FileObject
Definition: wdmaud.h:62
LIST_ENTRY WdmAudClientList
Definition: wdmaud.h:63
KSPIN_LOCK Lock
Definition: wdmaud.h:58
KEVENT InitializationCompletionEvent
Definition: wdmaud.h:67
PVOID SysAudioNotification
Definition: wdmaud.h:54
ULONG NumSysAudioDevices
Definition: wdmaud.h:59
PIO_WORKITEM WorkItem
Definition: wdmaud.h:66
KSDEVICE_HEADER DeviceHeader
Definition: wdmaud.h:53
ULONG SysAudioDeviceCount
Definition: wdmaud.h:65
PDEVICE_OBJECT NextDeviceObject
Definition: wdmaud.h:70
BOOL DeviceInterfaceSupport
Definition: wdmaud.h:56
PRKEVENT NotifyEvent
Definition: wdmaud.h:24
ULONG FilterId
Definition: wdmaud.h:22
SOUND_DEVICE_TYPE Type
Definition: wdmaud.h:21
HANDLE Handle
Definition: wdmaud.h:20
ULONG PinId
Definition: wdmaud.h:23
Definition: typedefs.h:120
INT POOL_TYPE
Definition: typedefs.h:78
#define NTAPI
Definition: typedefs.h:36
ULONG_PTR SIZE_T
Definition: typedefs.h:80
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfchildlist.h:474
_In_ WDFCOLLECTION _In_ ULONG Index
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2658
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3815
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:550
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
Definition: wdfdevice.h:3275
* PFILE_OBJECT
Definition: iotypes.h:1998
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1036
WCHAR * LPWSTR
Definition: xmlstorage.h:184