7 MM_STATUS_NOTINITIALIZED
,
8 MM_STATUS_NOT_IMPLEMENTED
,
9 MM_STATUS_NO_MORE_DEVICES
,
10 MM_STATUS_MORE_ENTRIES
,
11 MM_STATUS_INVALID_PARAMETER
,
12 MM_STATUS_UNSUCCESSFUL
,
19 typedef PVOID (*PMIXER_ALLOC
)(
20 IN ULONG NumberOfBytes
);
22 typedef VOID (*PMIXER_FREE
)(
25 typedef MIXER_STATUS (*PMIXER_ENUM
)(
28 OUT LPWSTR
* DeviceName
,
29 OUT PHANDLE OutHandle
,
30 OUT PHANDLE OutDevInterfaceKey
);
32 typedef MIXER_STATUS(*PMIXER_DEVICE_CONTROL
)(
34 IN ULONG dwIoControlCode
,
36 IN ULONG nInBufferSize
,
37 OUT PVOID lpOutBuffer
,
39 PULONG lpBytesReturned
);
41 typedef MIXER_STATUS(*PMIXER_OPEN
)(
45 typedef MIXER_STATUS(*PMIXER_CLOSE
)(
48 typedef MIXER_STATUS(*PMIXER_CLOSEKEY
)(
51 typedef VOID (*PMIXER_EVENT
)(
54 typedef VOID (*PMIXER_COPY
)(
59 typedef MIXER_STATUS(*PMIXER_QUERY_KEY_VALUE
)(
62 OUT PVOID
* ResultBuffer
,
63 OUT PULONG ResultLength
,
66 typedef MIXER_STATUS(*PMIXER_OPEN_KEY
)(
69 IN ULONG DesiredAccess
,
78 PMIXER_DEVICE_CONTROL Control
;
83 PMIXER_OPEN_KEY OpenKey
;
84 PMIXER_QUERY_KEY_VALUE QueryKeyValue
;
85 PMIXER_CLOSEKEY CloseKey
;
86 }MIXER_CONTEXT
, *PMIXER_CONTEXT
;
90 IN PMIXER_CONTEXT MixerContext
,
91 IN PMIXER_ENUM EnumFunction
,
92 IN PVOID EnumContext
);
96 IN PMIXER_CONTEXT MixerContext
);
99 MMixerGetCapabilities(
100 IN PMIXER_CONTEXT MixerContext
,
102 OUT LPMIXERCAPSW MixerCaps
);
106 IN PMIXER_CONTEXT MixerContext
,
109 IN PMIXER_EVENT MixerEventRoutine
,
110 OUT PHANDLE MixerHandle
);
114 IN PMIXER_CONTEXT MixerContext
,
115 IN HANDLE MixerHandle
,
117 OUT LPMIXERLINEW MixerLine
);
120 MMixerGetLineControls(
121 IN PMIXER_CONTEXT MixerContext
,
122 IN HANDLE MixerHandle
,
124 OUT LPMIXERLINECONTROLS MixerLineControls
);
127 MMixerSetControlDetails(
128 IN PMIXER_CONTEXT MixerContext
,
129 IN HANDLE MixerHandle
,
131 OUT LPMIXERCONTROLDETAILS MixerControlDetails
);
134 MMixerGetControlDetails(
135 IN PMIXER_CONTEXT MixerContext
,
136 IN HANDLE MixerHandle
,
138 OUT LPMIXERCONTROLDETAILS MixerControlDetails
);