- Silence tons of debug messages
[reactos.git] / reactos / drivers / wdm / audio / legacy / wdmaud / wdmaud.h
1 #ifndef WDMAUD_H__
2 #define WDMAUD_H__
3
4 #include <pseh/pseh2.h>
5 #include <ntddk.h>
6 #include <portcls.h>
7 #include <ks.h>
8 #define NDEBUG
9 #include <debug.h>
10 #include <ksmedia.h>
11 #include <mmsystem.h>
12
13 #include "interface.h"
14
15 typedef struct
16 {
17 HANDLE hProcess;
18 HANDLE hSysAudio;
19 PFILE_OBJECT FileObject;
20 ULONG NumPins;
21 HANDLE * hPins;
22
23 }WDMAUD_CLIENT, *PWDMAUD_CLIENT;
24
25 typedef struct
26 {
27 LIST_ENTRY Entry;
28 UNICODE_STRING SymbolicLink;
29 }SYSAUDIO_ENTRY, *PSYSAUDIO_ENTRY;
30
31 typedef struct
32 {
33 KSDEVICE_HEADER DeviceHeader;
34 PVOID SysAudioNotification;
35
36 BOOL DeviceInterfaceSupport;
37
38 KSPIN_LOCK Lock;
39 ULONG NumSysAudioDevices;
40 LIST_ENTRY SysAudioDeviceList;
41
42 }WDMAUD_DEVICE_EXTENSION, *PWDMAUD_DEVICE_EXTENSION;
43
44 typedef struct
45 {
46 KSSTREAM_HEADER Header;
47 PIRP Irp;
48 }CONTEXT_WRITE, *PCONTEXT_WRITE;
49
50
51 typedef struct
52 {
53 PIRP Irp;
54 IO_STATUS_BLOCK StatusBlock;
55 ULONG Length;
56 }WRITE_CONTEXT, *PWRITE_CONTEXT;
57
58
59 NTSTATUS
60 WdmAudRegisterDeviceInterface(
61 IN PDEVICE_OBJECT PhysicalDeviceObject,
62 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension);
63
64 NTSTATUS
65 WdmAudOpenSysAudioDevices(
66 IN PDEVICE_OBJECT DeviceObject,
67 IN PWDMAUD_DEVICE_EXTENSION DeviceExtension);
68
69 NTSTATUS
70 WdmAudOpenSysaudio(
71 IN PDEVICE_OBJECT DeviceObject,
72 IN PWDMAUD_CLIENT *pClient);
73
74 NTSTATUS
75 NTAPI
76 WdmAudDeviceControl(
77 IN PDEVICE_OBJECT DeviceObject,
78 IN PIRP Irp);
79
80 NTSTATUS
81 NTAPI
82 WdmAudWrite(
83 IN PDEVICE_OBJECT DeviceObject,
84 IN PIRP Irp);
85
86
87 #endif