ReactOS 0.4.15-dev-7953-g1f49173
mmixer.h
Go to the documentation of this file.
1#pragma once
2
3typedef enum
4{
13
14
16
17
20
21typedef VOID (*PMIXER_FREE)(
22 IN PVOID Block);
23
25 IN PVOID EnumContext,
26 IN ULONG DeviceIndex,
28 OUT PHANDLE OutHandle,
29 OUT PHANDLE OutDevInterfaceKey);
30
34 IN PVOID lpInBuffer,
35 IN ULONG nInBufferSize,
36 OUT PVOID lpOutBuffer,
37 ULONG nOutBufferSize,
39
41 IN LPWSTR DevicePath,
42 OUT PHANDLE hDevice);
43
45 IN HANDLE hDevice);
46
48 IN HANDLE hKey);
49
51 IN PVOID MixerEventContext,
54 IN ULONG Value);
55
56typedef VOID (*PMIXER_COPY)(
57 IN PVOID Dst,
58 IN PVOID Src,
60
66 OUT PULONG KeyType);
67
70 IN LPWSTR SubKey,
72 OUT PHANDLE OutKey);
73
75 IN ULONG ExtraBytes);
76
78 IN PVOID EventData);
79
82 IN ULONG DeviceId,
83 IN ULONG PinId,
84 IN HANDLE hFilter,
85 IN PKSPIN_CONNECT PinConnect,
87 OUT PHANDLE PinHandle);
88
89typedef struct
90{
93
106
110 IN PMIXER_ENUM EnumFunction,
111 IN PVOID EnumContext);
112
113ULONG
116
117ULONG
120
121ULONG
124
125ULONG
128
129ULONG
132
133
134
138 IN ULONG MixerIndex,
139 OUT LPMIXERCAPSW MixerCaps);
140
144 IN ULONG MixerId,
145 IN PVOID MixerEventContext,
146 IN PMIXER_EVENT MixerEventRoutine,
147 OUT PHANDLE MixerHandle);
148
152 IN ULONG MixerId,
153 IN PVOID MixerEventContext,
154 IN PMIXER_EVENT MixerEventRoutine);
155
159 IN HANDLE MixerHandle,
160 IN ULONG MixerId,
161 IN ULONG Flags,
162 OUT LPMIXERLINEW MixerLine);
163
167 IN HANDLE MixerHandle,
168 IN ULONG MixerId,
169 IN ULONG Flags,
170 OUT LPMIXERLINECONTROLSW MixerLineControls);
171
175 IN HANDLE MixerHandle,
176 IN ULONG MixerId,
177 IN ULONG Flags,
178 OUT LPMIXERCONTROLDETAILS MixerControlDetails);
179
183 IN HANDLE MixerHandle,
184 IN ULONG MixerId,
185 IN ULONG Flags,
186 OUT LPMIXERCONTROLDETAILS MixerControlDetails);
187
191 IN ULONG DeviceIndex,
192 OUT LPWAVEOUTCAPSW Caps);
193
197 IN ULONG DeviceIndex,
198 OUT LPWAVEINCAPSW Caps);
199
203 IN ULONG DeviceIndex,
204 IN ULONG bWaveIn,
205 IN LPWAVEFORMATEX WaveFormat,
206 IN PIN_CREATE_CALLBACK CreateCallback,
208 OUT PHANDLE PinHandle);
209
213 IN HANDLE PinHandle,
215
219 IN HANDLE PinHandle,
220 IN ULONG bBegin);
221
225 IN ULONG bWaveIn,
226 IN ULONG DeviceId,
227 OUT LPWSTR * DevicePath);
228
232 IN ULONG DeviceIndex,
233 OUT LPMIDIOUTCAPSW Caps);
234
238 IN ULONG DeviceIndex,
239 OUT LPMIDIINCAPSW Caps);
240
244 IN ULONG bMidiIn,
245 IN ULONG DeviceId,
246 OUT LPWSTR * DevicePath);
247
251 IN HANDLE PinHandle,
253
257 IN ULONG DeviceIndex,
258 IN ULONG bMidiIn,
259 IN PIN_CREATE_CALLBACK CreateCallback,
261 OUT PHANDLE PinHandle);
#define VOID
Definition: acefi.h:82
#define CALLBACK
Definition: compat.h:35
MIXER_CONTEXT MixerContext
Definition: mmixer.c:41
FxAutoRegKey hKey
PKMT_RESULTBUFFER ResultBuffer
KSSTATE
Definition: ks.h:1214
#define Dst
Definition: mesh.h:153
MIXER_STATUS MMixerMidiInCapabilities(IN PMIXER_CONTEXT MixerContext, IN ULONG DeviceIndex, OUT LPMIDIINCAPSW Caps)
Definition: midi.c:344
MIXER_STATUS MMixerSetWaveStatus(IN PMIXER_CONTEXT MixerContext, IN HANDLE PinHandle, IN KSSTATE State)
Definition: wave.c:618
MIXER_STATUS MMixerGetControlDetails(IN PMIXER_CONTEXT MixerContext, IN HANDLE MixerHandle, IN ULONG MixerId, IN ULONG Flags, OUT LPMIXERCONTROLDETAILS MixerControlDetails)
Definition: mixer.c:565
VOID(* PMIXER_COPY)(IN PVOID Dst, IN PVOID Src, IN ULONG Length)
Definition: mmixer.h:56
MIXER_STATUS(* PMIXER_OPEN_KEY)(IN HANDLE hKey, IN LPWSTR SubKey, IN ULONG DesiredAccess, OUT PHANDLE OutKey)
Definition: mmixer.h:68
MIXER_STATUS MMixerClose(IN PMIXER_CONTEXT MixerContext, IN ULONG MixerId, IN PVOID MixerEventContext, IN PMIXER_EVENT MixerEventRoutine)
Definition: mixer.c:115
MIXER_STATUS MMixerOpenMidi(IN PMIXER_CONTEXT MixerContext, IN ULONG DeviceIndex, IN ULONG bMidiIn, IN PIN_CREATE_CALLBACK CreateCallback, IN PVOID Context, OUT PHANDLE PinHandle)
Definition: midi.c:454
MIXER_STATUS(* PIN_CREATE_CALLBACK)(IN PVOID Context, IN ULONG DeviceId, IN ULONG PinId, IN HANDLE hFilter, IN PKSPIN_CONNECT PinConnect, IN ACCESS_MASK DesiredAccess, OUT PHANDLE PinHandle)
Definition: mmixer.h:80
struct MIXER_CONTEXT * PMIXER_CONTEXT
PVOID(* PMIXER_ALLOC_EVENT_DATA)(IN ULONG ExtraBytes)
Definition: mmixer.h:74
VOID(* PMIXER_FREE)(IN PVOID Block)
Definition: mmixer.h:21
ULONG MMixerGetMidiInCount(IN PMIXER_CONTEXT MixerContext)
Definition: midi.c:502
MIXER_STATUS MMixerSetMidiStatus(IN PMIXER_CONTEXT MixerContext, IN HANDLE PinHandle, IN KSSTATE State)
Definition: midi.c:437
MIXER_STATUS MMixerOpen(IN PMIXER_CONTEXT MixerContext, IN ULONG MixerId, IN PVOID MixerEventContext, IN PMIXER_EVENT MixerEventRoutine, OUT PHANDLE MixerHandle)
Definition: mixer.c:77
MIXER_STATUS MMixerMidiOutCapabilities(IN PMIXER_CONTEXT MixerContext, IN ULONG DeviceIndex, OUT LPMIDIOUTCAPSW Caps)
Definition: midi.c:308
PVOID(* PMIXER_ALLOC)(IN ULONG NumberOfBytes)
Definition: mmixer.h:18
ULONG MMixerGetWaveInCount(IN PMIXER_CONTEXT MixerContext)
Definition: wave.c:574
VOID(CALLBACK * PMIXER_EVENT)(IN PVOID MixerEventContext, IN HANDLE hMixer, IN ULONG NotificationType, IN ULONG Value)
Definition: mmixer.h:50
MIXER_STATUS MMixerGetLineControls(IN PMIXER_CONTEXT MixerContext, IN HANDLE MixerHandle, IN ULONG MixerId, IN ULONG Flags, OUT LPMIXERLINECONTROLSW MixerLineControls)
Definition: mixer.c:331
MIXER_STATUS MMixerGetMidiDevicePath(IN PMIXER_CONTEXT MixerContext, IN ULONG bMidiIn, IN ULONG DeviceId, OUT LPWSTR *DevicePath)
Definition: midi.c:380
MIXER_STATUS MMixerSetControlDetails(IN PMIXER_CONTEXT MixerContext, IN HANDLE MixerHandle, IN ULONG MixerId, IN ULONG Flags, OUT LPMIXERCONTROLDETAILS MixerControlDetails)
Definition: mixer.c:495
VOID(* PMIXER_FREE_EVENT_DATA)(IN PVOID EventData)
Definition: mmixer.h:77
MIXER_STATUS(* PMIXER_DEVICE_CONTROL)(IN HANDLE hMixer, IN ULONG dwIoControlCode, IN PVOID lpInBuffer, IN ULONG nInBufferSize, OUT PVOID lpOutBuffer, ULONG nOutBufferSize, PULONG lpBytesReturned)
Definition: mmixer.h:31
MIXER_STATUS MMixerWaveOutCapabilities(IN PMIXER_CONTEXT MixerContext, IN ULONG DeviceIndex, OUT LPWAVEOUTCAPSW Caps)
Definition: wave.c:538
MIXER_STATUS MMixerGetWaveDevicePath(IN PMIXER_CONTEXT MixerContext, IN ULONG bWaveIn, IN ULONG DeviceId, OUT LPWSTR *DevicePath)
Definition: wave.c:670
MIXER_STATUS MMixerOpenWave(IN PMIXER_CONTEXT MixerContext, IN ULONG DeviceIndex, IN ULONG bWaveIn, IN LPWAVEFORMATEX WaveFormat, IN PIN_CREATE_CALLBACK CreateCallback, IN PVOID Context, OUT PHANDLE PinHandle)
Definition: wave.c:453
MIXER_STATUS(* PMIXER_OPEN)(IN LPWSTR DevicePath, OUT PHANDLE hDevice)
Definition: mmixer.h:40
MIXER_STATUS MMixerWaveInCapabilities(IN PMIXER_CONTEXT MixerContext, IN ULONG DeviceIndex, OUT LPWAVEINCAPSW Caps)
Definition: wave.c:502
MIXER_STATUS MMixerGetCapabilities(IN PMIXER_CONTEXT MixerContext, IN ULONG MixerIndex, OUT LPMIXERCAPSW MixerCaps)
Definition: mixer.c:38
MIXER_STATUS(* PMIXER_QUERY_KEY_VALUE)(IN HANDLE hKey, IN LPWSTR KeyName, OUT PVOID *ResultBuffer, OUT PULONG ResultLength, OUT PULONG KeyType)
Definition: mmixer.h:61
MIXER_STATUS
Definition: mmixer.h:4
@ MM_STATUS_NOT_IMPLEMENTED
Definition: mmixer.h:7
@ MM_STATUS_UNSUCCESSFUL
Definition: mmixer.h:11
@ MM_STATUS_INVALID_PARAMETER
Definition: mmixer.h:10
@ MM_STATUS_NO_MEMORY
Definition: mmixer.h:12
@ MM_STATUS_NOTINITIALIZED
Definition: mmixer.h:6
@ MM_STATUS_SUCCESS
Definition: mmixer.h:5
@ MM_STATUS_NO_MORE_DEVICES
Definition: mmixer.h:8
@ MM_STATUS_MORE_ENTRIES
Definition: mmixer.h:9
MIXER_STATUS(* PMIXER_CLOSE)(IN HANDLE hDevice)
Definition: mmixer.h:44
MIXER_STATUS(* PMIXER_CLOSEKEY)(IN HANDLE hKey)
Definition: mmixer.h:47
ULONG MMixerGetCount(IN PMIXER_CONTEXT MixerContext)
Definition: mixer.c:15
MIXER_STATUS(* PMIXER_ENUM)(IN PVOID EnumContext, IN ULONG DeviceIndex, OUT LPWSTR *DeviceName, OUT PHANDLE OutHandle, OUT PHANDLE OutDevInterfaceKey)
Definition: mmixer.h:24
MIXER_STATUS MMixerGetLineInfo(IN PMIXER_CONTEXT MixerContext, IN HANDLE MixerHandle, IN ULONG MixerId, IN ULONG Flags, OUT LPMIXERLINEW MixerLine)
Definition: mixer.c:148
MIXER_STATUS MMixerSetWaveResetState(IN PMIXER_CONTEXT MixerContext, IN HANDLE PinHandle, IN ULONG bBegin)
Definition: wave.c:645
MIXER_STATUS MMixerInitialize(IN PMIXER_CONTEXT MixerContext, IN PMIXER_ENUM EnumFunction, IN PVOID EnumContext)
Definition: mixer.c:768
ULONG MMixerGetWaveOutCount(IN PMIXER_CONTEXT MixerContext)
Definition: wave.c:596
ULONG MMixerGetMidiOutCount(IN PMIXER_CONTEXT MixerContext)
Definition: midi.c:524
HMIXER hMixer
Definition: test.c:10
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
PMIXER_ALLOC_EVENT_DATA AllocEventData
Definition: mmixer.h:103
PMIXER_OPEN_KEY OpenKey
Definition: mmixer.h:100
PMIXER_DEVICE_CONTROL Control
Definition: mmixer.h:95
PMIXER_CLOSE Close
Definition: mmixer.h:98
ULONG SizeOfStruct
Definition: mmixer.h:91
PMIXER_CLOSEKEY CloseKey
Definition: mmixer.h:102
PMIXER_COPY Copy
Definition: mmixer.h:99
PMIXER_QUERY_KEY_VALUE QueryKeyValue
Definition: mmixer.h:101
PMIXER_FREE_EVENT_DATA FreeEventData
Definition: mmixer.h:104
PVOID MixerContext
Definition: mmixer.h:92
PMIXER_OPEN Open
Definition: mmixer.h:97
PMIXER_FREE Free
Definition: mmixer.h:96
PMIXER_ALLOC Alloc
Definition: mmixer.h:94
uint32_t * PULONG
Definition: typedefs.h:59
void * PVOID
Definition: typedefs.h:50
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
Definition: wdfdevice.h:3776
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2658
_In_ WDF_SPECIAL_FILE_TYPE NotificationType
Definition: wdfdevice.h:1024
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
Definition: wdfdevice.h:2699
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
Definition: wdfdevice.h:3275
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413
_In_ DWORD _In_ DWORD _In_ DWORD _Out_ LPDWORD lpBytesReturned
Definition: winddi.h:1705
_In_ DWORD dwIoControlCode
Definition: winddi.h:1700
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1036
WCHAR * LPWSTR
Definition: xmlstorage.h:184