Go to the source code of this file.
|
HRESULT WINAPI | CDirectSoundCapture_fnQueryInterface (LPDIRECTSOUNDCAPTURE8 iface, REFIID riid, LPVOID *ppobj) |
|
ULONG WINAPI | CDirectSoundCapture_fnAddRef (LPDIRECTSOUNDCAPTURE8 iface) |
|
ULONG WINAPI | CDirectSoundCapture_fnRelease (LPDIRECTSOUNDCAPTURE8 iface) |
|
HRESULT WINAPI | CDirectSoundCapture_fnCreateCaptureBuffer (LPDIRECTSOUNDCAPTURE8 iface, LPCDSCBUFFERDESC lpcDSBufferDesc, LPDIRECTSOUNDCAPTUREBUFFER *ppDSCBuffer, LPUNKNOWN pUnkOuter) |
|
HRESULT WINAPI | CDirectSoundCapture_fnGetCaps (LPDIRECTSOUNDCAPTURE8 iface, LPDSCCAPS pDSCCaps) |
|
HRESULT WINAPI | CDirectSoundCapture_fnInitialize (LPDIRECTSOUNDCAPTURE8 iface, LPCGUID pcGuidDevice) |
|
HRESULT | InternalDirectSoundCaptureCreate (LPCGUID lpcGUID, LPDIRECTSOUNDCAPTURE8 *ppDS, IUnknown *pUnkOuter) |
|
HRESULT CALLBACK | NewDirectSoundCapture (IUnknown *pUnkOuter, REFIID riid, LPVOID *ppvObject) |
|
HRESULT WINAPI | DirectSoundCaptureCreate (LPCGUID lpcGUID, LPDIRECTSOUNDCAPTURE *ppDSC, LPUNKNOWN pUnkOuter) |
|
HRESULT WINAPI | DirectSoundCaptureCreate8 (LPCGUID lpcGUID, LPDIRECTSOUNDCAPTURE8 *ppDSC8, LPUNKNOWN pUnkOuter) |
|
◆ LPCDirectSoundCaptureImpl
◆ CDirectSoundCapture_fnAddRef()
Definition at line 51 of file capture.c.
53{
56
57
59
61}
#define InterlockedIncrement
struct CDirectSoundCaptureImpl * LPCDirectSoundCaptureImpl
#define CONTAINING_RECORD(address, type, field)
◆ CDirectSoundCapture_fnCreateCaptureBuffer()
Definition at line 85 of file capture.c.
90{
93
94 if (!
This->bInitialized)
95 {
96
98 }
99
100 if (!lpcDSBufferDesc || !ppDSCBuffer || pUnkOuter !=
NULL)
101 {
102
104 }
105
106
109 {
110
112 }
113
114 DPRINT(
"This %p wFormatTag %x nChannels %u nSamplesPerSec %u nAvgBytesPerSec %u NBlockAlign %u wBitsPerSample %u cbSize %u\n",
116
118 return hResult;
119}
HRESULT NewDirectSoundCaptureBuffer(LPDIRECTSOUNDCAPTUREBUFFER8 *OutBuffer, LPFILTERINFO Filter, LPCDSCBUFFERDESC lpcDSBufferDesc)
#define DSERR_UNINITIALIZED
struct IDirectSoundCaptureBuffer8 * LPDIRECTSOUNDCAPTUREBUFFER8
#define DSERR_INVALIDPARAM
LPWAVEFORMATEX lpwfxFormat
◆ CDirectSoundCapture_fnGetCaps()
Definition at line 124 of file capture.c.
127{
131
132 if (!
This->bInitialized)
133 {
134
136 }
137
138 if (!pDSCCaps)
139 {
140
142 }
143
145 {
146
148 }
149
150
151
153
155
158 {
159
160 DPRINT(
"waveInGetDevCapsW for device %u failed with %x\n",
This->Filter->MappedId[0],
Result);
162 }
163
166
168}
#define DSERR_UNSUPPORTED
#define DSCCAPS_CERTIFIED
UINT WINAPI waveInGetDevCapsW(UINT_PTR uDeviceID, LPWAVEINCAPSW lpCaps, UINT uSize)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
◆ CDirectSoundCapture_fnInitialize()
Definition at line 173 of file capture.c.
176{
180
181
183
184 if (
This->bInitialized)
185 {
186
188 }
189
190
191
193 {
194
195 pcGuidDevice = &DSDEVID_DefaultCapture;
196 }
197
198 if (
IsEqualIID(pcGuidDevice, &DSDEVID_DefaultVoicePlayback) ||
IsEqualIID(pcGuidDevice, &DSDEVID_DefaultPlayback))
199 {
200
202 }
203
204
206 {
208 {
209 DPRINT(
"IDirectSound8_fnInitialize: Unknown GUID %ws\n", pGuidStr);
211 }
213 }
214
216 {
219 }
220
221 DPRINT(
"Failed to find device\n");
223}
BOOL FindDeviceByGuid(LPCGUID pGuidSrc, LPFILTERINFO *Filter)
HRESULT WINAPI GetDeviceID(LPCGUID pGuidSrc, LPGUID pGuidDest)
#define DSERR_ALREADYINITIALIZED
VOID WINAPI CoTaskMemFree(LPVOID ptr)
_Check_return_ HRESULT WINAPI StringFromIID(_In_ REFIID rclsid, _Outptr_ LPOLESTR *lplpsz)
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
◆ CDirectSoundCapture_fnQueryInterface()
Definition at line 23 of file capture.c.
27{
30
31
34 {
38 }
39
40
42 {
43 DPRINT(
"No Interface for class %s\n", pStr);
45 }
47}
◆ CDirectSoundCapture_fnRelease()
Definition at line 65 of file capture.c.
67{
70
71
73
75 {
77 }
78
80}
#define InterlockedDecrement
#define HeapFree(x, y, z)
◆ DirectSoundCaptureCreate()
Definition at line 322 of file capture.c.
326{
328}
HRESULT InternalDirectSoundCaptureCreate(LPCGUID lpcGUID, LPDIRECTSOUNDCAPTURE8 *ppDS, IUnknown *pUnkOuter)
struct IDirectSoundCapture * LPDIRECTSOUNDCAPTURE8
◆ DirectSoundCaptureCreate8()
◆ InternalDirectSoundCaptureCreate()
Definition at line 237 of file capture.c.
241{
244
245 if (!ppDS || pUnkOuter !=
NULL)
246 {
247
249 }
250
251
254 {
255
257 }
258
259
262
263
264
266
267
269 {
270
271 DPRINT(
"Failed to initialize DirectSoundCapture object with %x\n",
hr);
274 }
275
276
278 DPRINT(
"DirectSoundCapture object %p\n", *ppDS);
280}
static IDirectSoundCaptureVtbl vt_DirectSoundCapture
#define IDirectSoundCapture_Release(p)
#define IDirectSoundCapture_Initialize(p, a)
#define DSERR_OUTOFMEMORY
struct IDirectSound8 * LPDIRECTSOUND8
Referenced by DirectSoundCaptureCreate(), and DirectSoundCaptureCreate8().
◆ NewDirectSoundCapture()
Definition at line 284 of file capture.c.
288{
291
292
294 {
297 DPRINT(
"NewDirectSoundCapture does not support Interface %ws\n", pStr);
300 }
301
302
305 {
306
308 }
309
310
315
317}
#define IID_IDirectSoundCapture8
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
◆ vt_DirectSoundCapture
IDirectSoundCaptureVtbl vt_DirectSoundCapture |
|
static |
Initial value:=
{
}
HRESULT WINAPI CDirectSoundCapture_fnGetCaps(LPDIRECTSOUNDCAPTURE8 iface, LPDSCCAPS pDSCCaps)
HRESULT WINAPI CDirectSoundCapture_fnQueryInterface(LPDIRECTSOUNDCAPTURE8 iface, REFIID riid, LPVOID *ppobj)
HRESULT WINAPI CDirectSoundCapture_fnInitialize(LPDIRECTSOUNDCAPTURE8 iface, LPCGUID pcGuidDevice)
ULONG WINAPI CDirectSoundCapture_fnAddRef(LPDIRECTSOUNDCAPTURE8 iface)
ULONG WINAPI CDirectSoundCapture_fnRelease(LPDIRECTSOUNDCAPTURE8 iface)
HRESULT WINAPI CDirectSoundCapture_fnCreateCaptureBuffer(LPDIRECTSOUNDCAPTURE8 iface, LPCDSCBUFFERDESC lpcDSBufferDesc, LPDIRECTSOUNDCAPTUREBUFFER *ppDSCBuffer, LPUNKNOWN pUnkOuter)
Definition at line 225 of file capture.c.
Referenced by InternalDirectSoundCaptureCreate(), and NewDirectSoundCapture().