15 const IDirectSoundBuffer8Vtbl *
lpVtbl;
51 DPRINT(
"No Interface for class %s\n", pStr);
103 DPRINT(
"PrimaryDirectSoundBuffer8Impl_fnGetCaps\n");
120 pDSBufferCaps->
dwSize = 0;
135 DPRINT(
"PrimaryDirectSoundBuffer8Impl_fnGetCurrentPosition\n");
143 if (!pdwCurrentPlayCursor && !pdwCurrentWriteCursor)
158 DWORD dwSizeAllocated,
164 DPRINT(
"PrimaryDirectSoundBuffer8Impl_fnGetFormat\n");
168 if (!pwfxFormat && !pdwSizeWritten)
177 *pdwSizeWritten = FormatSize;
182 if (dwSizeAllocated >= FormatSize)
188 *pdwSizeWritten = FormatSize;
208 DPRINT(
"PrimaryDirectSoundBuffer8Impl_fnGetVolume\n");
217 *plVolume =
This->Volume;
230 DPRINT(
"PrimaryDirectSoundBuffer8Impl_fnGetPan\n");
239 *plPan =
This->VolumePan;
252 DPRINT(
"PrimaryDirectSoundBuffer8Impl_fnGetFrequency\n");
261 *pdwFrequency =
This->dwFrequency;
274 DPRINT(
"PrimaryDirectSoundBuffer8Impl_fnGetStatus\n");
329 DPRINT(
"PrimaryDirectSoundBuffer8Impl_fnPlay dwFlags %x\n",
dwFlags);
389 DPRINT(
"This %p Format: Tag %x nChannels %u nSamplesPerSec %u nAvgBytesPerSec %u nBlockAlign %u wBitsPerSample %u cbSize %u\n",
This,
414 This->Volume = lVolume;
436 This->VolumePan = lPan;
466 DPRINT(
"PrimaryDirectSoundBuffer8Impl_fnStop\n");
522 DWORD dwEffectsCount,
535 DWORD dwEffectsCount,
609 Header.PresentationTime.Numerator = 1;
610 Header.PresentationTime.Denominator = 1;
658 if (pdwCurrentPlayCursor)
659 *pdwCurrentPlayCursor = 0;
661 if (pdwCurrentWriteCursor)
662 *pdwCurrentWriteCursor = 0;
684 if (pdwCurrentPlayCursor)
687 if (pdwCurrentWriteCursor)
718 DPRINT(
"PinId %u DeviceId %u\n", PinId, DeviceId);
737 DPRINT(
"PrimaryDirectSoundBuffer8Impl_fnSetFormat failed\n");
741 DPRINT(
"PrimaryDirectSoundBuffer8Impl_fnSetFormat success\n");
785 This->dwLevel = dwLevel;
787 This->dwFrequency = 0;
794 This->Format.nChannels = 2;
795 This->Format.nSamplesPerSec = 44100;
796 This->Format.wBitsPerSample = 16;
798 This->Format.nBlockAlign = (
This->Format.nChannels *
This->Format.wBitsPerSample) / 8;
799 This->Format.nAvgBytesPerSec = (
This->Format.nChannels *
This->Format.nSamplesPerSec *
This->Format.wBitsPerSample) / 8;
struct IDirectSoundBuffer8 * LPDIRECTSOUNDBUFFER8
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnPlay(LPDIRECTSOUNDBUFFER8 iface, DWORD dwReserved1, DWORD dwPriority, DWORD dwFlags)
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ PWDF_MEMORY_DESCRIPTOR _Out_opt_ PULONG BytesTransferred
#define IOCTL_KS_PROPERTY
HRESULT NewPrimarySoundBuffer(LPDIRECTSOUNDBUFFER8 *OutBuffer, LPFILTERINFO Filter, DWORD dwLevel, DWORD dwFlags)
static IDirectSoundBuffer8Vtbl vt_DirectSoundBuffer8
#define IOCTL_KS_WRITE_STREAM
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnSetVolume(LPDIRECTSOUNDBUFFER8 iface, LONG lVolume)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
VOID PrimaryDirectSoundBuffer_ReleaseLock(LPDIRECTSOUNDBUFFER8 iface)
#define DSERR_INVALIDCALL
_In_ UCHAR _In_ ULONG _Out_ PUCHAR _Outptr_result_bytebuffer_ OutBufferLength PVOID * OutBuffer
DWORD PrimaryDirectSoundBuffer_Write(LPDIRECTSOUNDBUFFER8 iface, LPVOID Buffer, DWORD BufferSize)
IN BOOLEAN OUT PSTR Buffer
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnRestore(LPDIRECTSOUNDBUFFER8 iface)
#define DSERR_ALREADYINITIALIZED
_In_ ULONG _In_ ULONG State
ULONG WINAPI PrimaryDirectSoundBuffer8Impl_fnRelease(LPDIRECTSOUNDBUFFER8 iface)
VOID PrimaryDirectSoundBuffer_AcquireLock(LPDIRECTSOUNDBUFFER8 iface)
struct tWAVEFORMATEX WAVEFORMATEX
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnAcquireResources(LPDIRECTSOUNDBUFFER8 iface, DWORD dwFlags, DWORD dwEffectsCount, LPDWORD pdwResultCodes)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define KSPROPERTY_TYPE_GET
#define KSPROPSETID_Connection
#define DSERR_PRIOLEVELNEEDED
_In_ DWORD _In_ DWORD dwOffset
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetFormat(LPDIRECTSOUNDBUFFER8 iface, LPWAVEFORMATEX pwfxFormat, DWORD dwSizeAllocated, LPDWORD pdwSizeWritten)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnInitialize(LPDIRECTSOUNDBUFFER8 iface, LPDIRECTSOUND pDirectSound, LPCDSBUFFERDESC pcDSBufferDesc)
#define DSERR_OUTOFMEMORY
#define DSERR_INVALIDPARAM
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnSetFX(LPDIRECTSOUNDBUFFER8 iface, DWORD dwEffectsCount, LPDSEFFECTDESC pDSFXDesc, LPDWORD pdwResultCodes)
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
_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
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnUnlock(LPDIRECTSOUNDBUFFER8 iface, LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
_Check_return_ HRESULT WINAPI StringFromIID(_In_ REFIID rclsid, _Outptr_ LPOLESTR *lplpsz)
ULONG GetPinIdFromFilter(LPFILTERINFO Filter, BOOL bCapture, ULONG Offset)
DWORD OpenPin(HANDLE hFilter, ULONG PinId, LPWAVEFORMATEX WaveFormatEx, PHANDLE hPin, BOOL bLoop)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnSetPan(LPDIRECTSOUNDBUFFER8 iface, LONG lPan)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnStop(LPDIRECTSOUNDBUFFER8 iface)
#define DSBSTATUS_LOOPING
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetCurrentPosition(LPDIRECTSOUNDBUFFER8 iface, LPDWORD pdwCurrentPlayCursor, LPDWORD pdwCurrentWriteCursor)
#define DSERR_CONTROLUNAVAIL
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnSetFormat(LPDIRECTSOUNDBUFFER8 iface, LPCWAVEFORMATEX pcfxFormat)
#define DSERR_UNSUPPORTED
HRESULT PrimaryDirectSoundBuffer_SetFormat(LPDIRECTSOUNDBUFFER8 iface, LPWAVEFORMATEX pcfxFormat, BOOL bLooped)
#define InterlockedDecrement
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnQueryInterface(LPDIRECTSOUNDBUFFER8 iface, IN REFIID riid, LPVOID *ppobj)
#define DSBSTATUS_PLAYING
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
DWORD SyncOverlappedDeviceIoControl(IN HANDLE Handle, IN DWORD IoControlCode, IN LPVOID InBuffer, IN DWORD InBufferSize, OUT LPVOID OutBuffer, IN DWORD OutBufferSize, OUT LPDWORD BytesTransferred OPTIONAL)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetObjectInPath(LPDIRECTSOUNDBUFFER8 iface, REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetVolume(LPDIRECTSOUNDBUFFER8 iface, LPLONG plVolume)
BOOL WINAPI DeviceIoControl(IN HANDLE hDevice, IN DWORD dwIoControlCode, IN LPVOID lpInBuffer OPTIONAL, IN DWORD nInBufferSize OPTIONAL, OUT LPVOID lpOutBuffer OPTIONAL, IN DWORD nOutBufferSize OPTIONAL, OUT LPDWORD lpBytesReturned OPTIONAL, IN LPOVERLAPPED lpOverlapped OPTIONAL)
#define InterlockedIncrement
ULONG WINAPI PrimaryDirectSoundBuffer8Impl_fnAddRef(LPDIRECTSOUNDBUFFER8 iface)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetCaps(LPDIRECTSOUNDBUFFER8 iface, LPDSBCAPS pDSBufferCaps)
struct CDirectSoundBuffer * LPCDirectSoundBuffer
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetStatus(LPDIRECTSOUNDBUFFER8 iface, LPDWORD pdwStatus)
struct IDirectSound * LPDIRECTSOUND
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetPan(LPDIRECTSOUNDBUFFER8 iface, LPLONG plPan)
DWORD dwUnlockTransferRate
const IDirectSoundBuffer8Vtbl * lpVtbl
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetFrequency(LPDIRECTSOUNDBUFFER8 iface, LPDWORD pdwFrequency)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnSetCurrentPosition(LPDIRECTSOUNDBUFFER8 iface, DWORD dwNewPosition)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnSetFrequency(LPDIRECTSOUNDBUFFER8 iface, DWORD dwFrequency)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
#define KSPROPERTY_TYPE_SET
#define HeapFree(x, y, z)
#define IsEqualIID(riid1, riid2)
HRESULT PrimaryDirectSoundBuffer_GetPosition(LPDIRECTSOUNDBUFFER8 iface, LPDWORD pdwCurrentPlayCursor, LPDWORD pdwCurrentWriteCursor)
VOID PrimaryDirectSoundBuffer_SetState(LPDIRECTSOUNDBUFFER8 iface, KSSTATE State)
BOOL SetPinFormat(IN HANDLE hPin, IN LPWAVEFORMATEX WaveFormatEx)
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnLock(LPDIRECTSOUNDBUFFER8 iface, DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1, LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags)