51 IUnknown_AddRef(iface);
86 TRACE(
"(pPropData=%p,cbPropData=%d,pcbReturned=%p)\n",
87 pPropData,cbPropData,pcbReturned);
92 WARN(
"invalid parameter: pPropData\n");
99 TRACE(
"DataFlow=DIRECTSOUNDDEVICE_DATAFLOW_RENDER\n");
101 for (wod = 0; wod < wodn; wod++) {
118 TRACE(
"DataFlow=DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE\n");
120 for (wid = 0; wid < widn; wid++) {
137 *pcbReturned = cbPropData;
152 TRACE(
"(pPropData=%p,cbPropData=%d,pcbReturned=%p)\n",
153 pPropData,cbPropData,pcbReturned);
156 WARN(
"invalid parameter: ppd=%p\n", ppd);
163 if (!
data.DeviceName)
172 *pcbReturned = cbPropData;
185 ULONG wod, wid, wodn, widn;
188 TRACE(
"pPropData=%p,cbPropData=%d,pcbReturned=%p)\n",
189 pPropData,cbPropData,pcbReturned);
195 TRACE(
"DataFlow=DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE\n");
196 ppd->
DeviceId = DSDEVID_DefaultCapture;
198 TRACE(
"DataFlow=DIRECTSOUNDDEVICE_DATAFLOW_RENDER\n");
199 ppd->
DeviceId = DSDEVID_DefaultPlayback;
212 wid = wod = dev_guid.Data4[7];
227 WARN(
"Device not found\n");
238 WARN(
"waveMessage(DRV_QUERYDSOUNDDESC) failed!\n");
245 static WCHAR wInterface[] = {
'I',
'n',
't',
'e',
'r',
'f',
'a',
'c',
'e',0 };
254 WARN(
"Out of memory\n");
268 *pcbReturned =
sizeof(*ppd);
269 TRACE(
"*pcbReturned=%d\n", *pcbReturned);
284 TRACE(
"(pPropData=%p,cbPropData=%d,pcbReturned=%p)\n",
285 pPropData,cbPropData,pcbReturned);
292 WARN(
"Invalid ppd %p\n", ppd);
300 for (
i = 0;
i < wodn; ++
i)
303 data.DeviceId.Data4[7] =
i;
307 ERR(
"DescriptionW failed!\n");
318 for (
i = 0;
i < widn; ++
i)
321 data.DeviceId.Data4[7] =
i;
325 ERR(
"DescriptionW failed!\n");
340 DWORD modlen, desclen;
373 data1->DescriptionA[
sizeof(
data1->DescriptionA)-1] = 0;
405 WARN(
"Invalid ppd %p\n", ppd);
436 WARN(
"Invalid ppd %p\n", ppd);
456 *pcbReturned =
sizeof(*ppd);
482 *pcbReturned =
sizeof(*ppd);
502 ULONG cbInstanceData,
508 TRACE(
"(iface=%p,guidPropSet=%s,dwPropID=%d,pInstanceData=%p,cbInstanceData=%d,pPropData=%p,cbPropData=%d,pcbReturned=%p)\n",
509 This,
debugstr_guid(guidPropSet),dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned);
511 if (
IsEqualGUID( &DSPROPSETID_DirectSoundDevice, guidPropSet) ) {
530 FIXME(
"unsupported ID: %d\n",dwPropID);
539 FIXME(
"*pcbReturned=%d\n", *pcbReturned);
550 ULONG cbInstanceData,
556 FIXME(
"(%p,%s,%d,%p,%d,%p,%d), stub!\n",
This,
debugstr_guid(guidPropSet),dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData);
569 if (
IsEqualGUID( &DSPROPSETID_DirectSoundDevice, guidPropSet) ) {
596 FIXME(
"unsupported ID: %d\n",dwPropID);
606static const IKsPropertySetVtbl
ikspvt = {
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
#define InterlockedIncrement
#define InterlockedDecrement
#define UlongToHandle(ul)
const GUID IID_IKsPropertySet
HRESULT WINAPI GetDeviceID(LPCGUID pGuidSrc, LPGUID pGuidDest)
static const IKsPropertySetVtbl ikspvt
static IKsPrivatePropertySetImpl * impl_from_IKsPropertySet(IKsPropertySet *iface)
static HRESULT DSPROPERTY_WaveDeviceMappingW(LPVOID pPropData, ULONG cbPropData, PULONG pcbReturned)
static HRESULT WINAPI IKsPrivatePropertySetImpl_Set(LPKSPROPERTYSET iface, REFGUID guidPropSet, ULONG dwPropID, LPVOID pInstanceData, ULONG cbInstanceData, LPVOID pPropData, ULONG cbPropData)
static ULONG WINAPI IKsPrivatePropertySetImpl_AddRef(LPKSPROPERTYSET iface)
static HRESULT DSPROPERTY_EnumerateA(LPVOID pPropData, ULONG cbPropData, PULONG pcbReturned)
static BOOL CALLBACK DSPROPERTY_enumWto1(DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA *descW, void *data)
static HRESULT WINAPI IKsPrivatePropertySetImpl_QuerySupport(LPKSPROPERTYSET iface, REFGUID guidPropSet, ULONG dwPropID, PULONG pTypeSupport)
static HRESULT DSPROPERTY_DescriptionA(LPVOID pPropData, ULONG cbPropData, PULONG pcbReturned)
static BOOL CALLBACK DSPROPERTY_enumWtoA(DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA *descW, void *data)
static HRESULT DSPROPERTY_DescriptionW(LPVOID pPropData, ULONG cbPropData, PULONG pcbReturned)
static ULONG WINAPI IKsPrivatePropertySetImpl_Release(LPKSPROPERTYSET iface)
static HRESULT DSPROPERTY_WaveDeviceMappingA(LPVOID pPropData, ULONG cbPropData, PULONG pcbReturned)
static HRESULT DSPROPERTY_Enumerate1(LPVOID pPropData, ULONG cbPropData, PULONG pcbReturned)
HRESULT IKsPrivatePropertySetImpl_Create(REFIID riid, IKsPropertySet **piks)
static HRESULT DSPROPERTY_EnumerateW(LPVOID pPropData, ULONG cbPropData, PULONG pcbReturned)
static HRESULT WINAPI IKsPrivatePropertySetImpl_QueryInterface(LPKSPROPERTYSET iface, REFIID riid, LPVOID *ppobj)
static BOOL DSPROPERTY_descWtoA(const DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA *dataW, DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A_DATA *dataA)
static HRESULT WINAPI IKsPrivatePropertySetImpl_Get(LPKSPROPERTYSET iface, REFGUID guidPropSet, ULONG dwPropID, LPVOID pInstanceData, ULONG cbInstanceData, LPVOID pPropData, ULONG cbPropData, PULONG pcbReturned)
static HRESULT DSPROPERTY_Description1(LPVOID pPropData, ULONG cbPropData, PULONG pcbReturned)
static void DSPROPERTY_descWto1(const DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W_DATA *dataW, DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1_DATA *data1)
#define HeapFree(x, y, z)
#define WideCharToMultiByte
#define MultiByteToWideChar
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
@ DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1
@ DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_A
@ DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_W
@ DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_1
@ DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_W
@ DSPROPERTY_DIRECTSOUNDDEVICE_WAVEDEVICEMAPPING_A
@ DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_W
@ DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE_A
@ DIRECTSOUNDDEVICE_TYPE_VXD
@ DIRECTSOUNDDEVICE_DATAFLOW_RENDER
@ DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE
#define KSPROPERTY_SUPPORT_GET
#define DSERR_INVALIDPARAM
GUID DSOUND_renderer_guids[MAXWAVEDRIVERS]
GUID DSOUND_capture_guids[MAXWAVEDRIVERS]
void setup_dsound_options(void)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static const WCHAR desc[]
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
IKsPropertySet IKsPropertySet_iface
DIRECTSOUNDDEVICE_DATAFLOW DataFlow
DIRECTSOUNDDEVICE_DATAFLOW DataFlow
DIRECTSOUNDDEVICE_TYPE Type
DIRECTSOUNDDEVICE_TYPE Type
DIRECTSOUNDDEVICE_DATAFLOW DataFlow
LPFNDIRECTSOUNDDEVICEENUMERATECALLBACK1 Callback
LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKA Callback
LPFNDIRECTSOUNDDEVICEENUMERATECALLBACKW Callback
DIRECTSOUNDDEVICE_DATAFLOW DataFlow
DIRECTSOUNDDEVICE_DATAFLOW DataFlow
WCHAR szPname[MAXPNAMELEN]
WCHAR szPname[MAXPNAMELEN]
#define CONTAINING_RECORD(address, type, field)
#define E_PROP_ID_UNSUPPORTED
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
UINT WINAPI waveOutGetNumDevs(void)
UINT WINAPI waveOutGetDevCapsW(UINT_PTR uDeviceID, LPWAVEOUTCAPSW lpCaps, UINT uSize)
UINT WINAPI waveInGetNumDevs(void)
UINT WINAPI waveInMessage(HWAVEIN hWaveIn, UINT uMessage, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
UINT WINAPI waveOutMessage(HWAVEOUT hWaveOut, UINT uMessage, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
UINT WINAPI waveInGetDevCapsW(UINT_PTR uDeviceID, LPWAVEINCAPSW lpCaps, UINT uSize)