Sync to trunk head (r42241)
[reactos.git] / reactos / include / reactos / libs / sound / mment4.h
1 /*
2 * PROJECT: ReactOS Sound System "MME Buddy" Library (NT4 Helpers)
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: include/reactos/libs/sound/mment4.h
5 *
6 * PURPOSE: Header for the NT4 part of the "MME Buddy" helper library
7 * (located in lib/drivers/sound/mment4)
8 *
9 * PROGRAMMERS: Andrew Greenwood (silverblade@reactos.org)
10 *
11 * 31 Dec 2008 - Created
12 *
13 * NOTES: This is intended for use in building NT4 compatible audio device
14 * drivers. Include mmebuddy.h first.
15 */
16
17 #ifndef ROS_AUDIO_MMENT4_H
18 #define ROS_AUDIO_MMENT4_H
19
20 /*
21 detect.c
22 */
23
24 typedef BOOLEAN (*SOUND_DEVICE_DETECTED_PROC)(
25 UCHAR DeviceType,
26 PWSTR DevicePath);
27
28 MMRESULT
29 EnumerateNt4ServiceSoundDevices(
30 IN LPWSTR ServiceName,
31 IN MMDEVICE_TYPE DeviceType,
32 IN SOUND_DEVICE_DETECTED_PROC SoundDeviceDetectedProc);
33
34 MMRESULT
35 DetectNt4SoundDevices(
36 IN MMDEVICE_TYPE DeviceType,
37 IN PWSTR BaseDeviceName,
38 IN SOUND_DEVICE_DETECTED_PROC SoundDeviceDetectedProc);
39
40
41 /*
42 registry.c
43 */
44
45 MMRESULT
46 OpenSoundDriverParametersRegKey(
47 IN LPWSTR ServiceName,
48 OUT PHKEY KeyHandle);
49
50 MMRESULT
51 OpenSoundDeviceRegKey(
52 IN LPWSTR ServiceName,
53 IN DWORD DeviceIndex,
54 OUT PHKEY KeyHandle);
55
56
57 /*
58 general.c - UNSORTED
59 */
60
61 MMRESULT
62 GetNt4SoundDeviceCapabilities(
63 IN PSOUND_DEVICE SoundDevice,
64 OUT PVOID Capabilities,
65 IN DWORD CapabilitiesSize);
66
67 MMRESULT
68 QueryNt4WaveDeviceFormatSupport(
69 IN PSOUND_DEVICE SoundDevice,
70 IN LPWAVEFORMATEX Format,
71 IN DWORD FormatSize);
72
73 MMRESULT
74 SetNt4WaveDeviceFormat(
75 IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance,
76 IN DWORD DeviceId,
77 IN LPWAVEFORMATEX Format,
78 IN DWORD FormatSize);
79
80 MMRESULT
81 OpenNt4SoundDevice(
82 IN PSOUND_DEVICE SoundDevice,
83 OUT PVOID* Handle);
84
85 MMRESULT
86 CloseNt4SoundDevice(
87 IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance,
88 IN PVOID Handle);
89
90 #endif