ReactOS 0.4.17-dev-243-g1369312
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#include <pseh/pseh2.h>
7
8#include "interface.h"
9
10typedef struct
11{
17
18
19typedef struct
20{
27
28typedef struct
29{
34
37
38typedef struct
39{
45
46typedef struct
47{
51
52typedef struct
53{
56
58
65
70
73
74typedef struct
75{
80
81
85 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension,
86 IN ULONG FilterId,
87 IN ULONG PinId,
88 IN LPWAVEFORMATEX WaveFormatEx,
90 OUT PHANDLE PinHandle);
91
95 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension);
96
100 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension);
101
105 IN PWDMAUD_CLIENT *pClient);
106
108NTAPI
111 IN PIRP Irp);
112
114NTAPI
117 IN PIRP Irp);
118
120NTAPI
123 IN PIRP Irp);
124
128 IN PIRP Irp,
131
135 IN PIRP Irp,
138 IN ULONG Index);
139
140VOID
144 IN ULONG Index);
145
149 IN PIRP Irp,
152
156 IN PIRP Irp,
159
160ULONG
163
166 IN PIRP Irp,
168 IN ULONG Length);
169
174
178 IN ULONG ProductNameSize,
179 OUT LPWSTR ProductName);
180
186 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension);
187
193 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension);
194
200 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension);
201
203NTAPI
206 _In_ PIRP Irp,
208
210NTAPI
213 IN PIRP Irp,
216
218NTAPI
221 IN PIRP Irp,
224
226NTAPI
229 IN PIRP Irp,
232
234NTAPI
237 IN PIRP Irp,
240
242NTAPI
245 IN PIRP Irp,
248
250NTAPI
253 IN PIRP Irp,
256
260
262NTAPI
265
266ULONG
269 IN ULONG FilterId,
270 IN ULONG PinId,
272
276 IN ULONG FilterId,
277 IN ULONG PinId,
279 IN HANDLE PinHandle,
280 IN ULONG FreeIndex);
281
285 IN ULONG DeviceIndex,
286 OUT LPWSTR * Device);
287
291 IN ULONG DeviceIndex,
294
300
301ULONG
303
304ULONG
306
307ULONG
309
310ULONG
312
313ULONG
315
318 IN ULONG DeviceIndex,
320 OUT LPWSTR *Device);
321
322
323/* sup.c */
324
325ULONG
328
329
330PVOID
334
335VOID
337 IN PVOID Item);
338
339#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:312
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:447
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:24
CLIENT_DATA ClientInfo
DeviceType
Definition: mmdrv.h:42
_In_ PIOMMU_DEVICE_PATH _In_ PIOMMU_SVM_CAPABILITIES _Out_ PVOID * DeviceHandle
Definition: haltypes.h:1826
#define _In_
Definition: no_sal2.h:158
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:39
ULONG Value
Definition: wdmaud.h:42
HANDLE hMixer
Definition: wdmaud.h:43
LIST_ENTRY Entry
Definition: wdmaud.h:40
ULONG NotificationType
Definition: wdmaud.h:41
PWDMAUD_CLIENT ClientInfo
Definition: wdmaud.h:76
PWDMAUD_DEVICE_EXTENSION DeviceExtension
Definition: wdmaud.h:77
SOUND_DEVICE_TYPE DeviceType
Definition: wdmaud.h:78
Definition: wdmaud.h:47
LIST_ENTRY Entry
Definition: wdmaud.h:48
UNICODE_STRING SymbolicLink
Definition: wdmaud.h:49
WDMAUD_HANDLE * hPins
Definition: wdmaud.h:33
LIST_ENTRY MixerEventList
Definition: wdmaud.h:35
ULONG NumPins
Definition: wdmaud.h:32
LIST_ENTRY Entry
Definition: wdmaud.h:30
HANDLE hProcess
Definition: wdmaud.h:31
PFILE_OBJECT FileObject
Definition: wdmaud.h:15
LIST_ENTRY SysAudioDeviceList
Definition: wdmaud.h:61
PFILE_OBJECT FileObject
Definition: wdmaud.h:63
LIST_ENTRY WdmAudClientList
Definition: wdmaud.h:64
KSPIN_LOCK Lock
Definition: wdmaud.h:59
KEVENT InitializationCompletionEvent
Definition: wdmaud.h:68
PVOID SysAudioNotification
Definition: wdmaud.h:55
ULONG NumSysAudioDevices
Definition: wdmaud.h:60
PIO_WORKITEM WorkItem
Definition: wdmaud.h:67
KSDEVICE_HEADER DeviceHeader
Definition: wdmaud.h:54
ULONG SysAudioDeviceCount
Definition: wdmaud.h:66
PDEVICE_OBJECT NextDeviceObject
Definition: wdmaud.h:71
BOOL DeviceInterfaceSupport
Definition: wdmaud.h:57
PRKEVENT NotifyEvent
Definition: wdmaud.h:25
ULONG FilterId
Definition: wdmaud.h:23
SOUND_DEVICE_TYPE Type
Definition: wdmaud.h:22
HANDLE Handle
Definition: wdmaud.h:21
ULONG PinId
Definition: wdmaud.h:24
Definition: typedefs.h:120
INT POOL_TYPE
Definition: typedefs.h:78
uint16_t * LPWSTR
Definition: typedefs.h:56
#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:2061
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2664
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3821
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:550
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
Definition: wdfdevice.h:3281
* PFILE_OBJECT
Definition: iotypes.h:1998
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1036