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;
#define InterlockedIncrement
#define InterlockedDecrement
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)
ULONG GetPinIdFromFilter(LPFILTERINFO Filter, BOOL bCapture, ULONG Offset)
DWORD SyncOverlappedDeviceIoControl(IN HANDLE Handle, IN DWORD IoControlCode, IN LPVOID InBuffer, IN DWORD InBufferSize, OUT LPVOID OutBuffer, IN DWORD OutBufferSize, OUT LPDWORD BytesTransferred OPTIONAL)
DWORD OpenPin(HANDLE hFilter, ULONG PinId, LPWAVEFORMATEX WaveFormatEx, PHANDLE hPin, BOOL bLoop)
BOOL SetPinFormat(IN HANDLE hPin, IN LPWAVEFORMATEX WaveFormatEx)
#define HeapFree(x, y, z)
#define DSERR_ALREADYINITIALIZED
#define DSERR_CONTROLUNAVAIL
#define DSERR_UNSUPPORTED
#define DSERR_OUTOFMEMORY
#define DSBSTATUS_LOOPING
#define DSERR_INVALIDCALL
struct IDirectSound * LPDIRECTSOUND
#define DSBSTATUS_PLAYING
#define DSERR_INVALIDPARAM
struct IDirectSoundBuffer8 * LPDIRECTSOUNDBUFFER8
#define DSERR_PRIOLEVELNEEDED
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnRestore(LPDIRECTSOUNDBUFFER8 iface)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetCurrentPosition(LPDIRECTSOUNDBUFFER8 iface, LPDWORD pdwCurrentPlayCursor, LPDWORD pdwCurrentWriteCursor)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnPlay(LPDIRECTSOUNDBUFFER8 iface, DWORD dwReserved1, DWORD dwPriority, DWORD dwFlags)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetPan(LPDIRECTSOUNDBUFFER8 iface, LPLONG plPan)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetCaps(LPDIRECTSOUNDBUFFER8 iface, LPDSBCAPS pDSBufferCaps)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetVolume(LPDIRECTSOUNDBUFFER8 iface, LPLONG plVolume)
ULONG WINAPI PrimaryDirectSoundBuffer8Impl_fnAddRef(LPDIRECTSOUNDBUFFER8 iface)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnSetCurrentPosition(LPDIRECTSOUNDBUFFER8 iface, DWORD dwNewPosition)
VOID PrimaryDirectSoundBuffer_ReleaseLock(LPDIRECTSOUNDBUFFER8 iface)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnQueryInterface(LPDIRECTSOUNDBUFFER8 iface, IN REFIID riid, LPVOID *ppobj)
VOID PrimaryDirectSoundBuffer_AcquireLock(LPDIRECTSOUNDBUFFER8 iface)
DWORD PrimaryDirectSoundBuffer_Write(LPDIRECTSOUNDBUFFER8 iface, LPVOID Buffer, DWORD BufferSize)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnLock(LPDIRECTSOUNDBUFFER8 iface, DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1, LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags)
HRESULT NewPrimarySoundBuffer(LPDIRECTSOUNDBUFFER8 *OutBuffer, LPFILTERINFO Filter, DWORD dwLevel, DWORD dwFlags)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnSetFX(LPDIRECTSOUNDBUFFER8 iface, DWORD dwEffectsCount, LPDSEFFECTDESC pDSFXDesc, LPDWORD pdwResultCodes)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetFormat(LPDIRECTSOUNDBUFFER8 iface, LPWAVEFORMATEX pwfxFormat, DWORD dwSizeAllocated, LPDWORD pdwSizeWritten)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnSetFrequency(LPDIRECTSOUNDBUFFER8 iface, DWORD dwFrequency)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnStop(LPDIRECTSOUNDBUFFER8 iface)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnUnlock(LPDIRECTSOUNDBUFFER8 iface, LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2)
static IDirectSoundBuffer8Vtbl vt_DirectSoundBuffer8
ULONG WINAPI PrimaryDirectSoundBuffer8Impl_fnRelease(LPDIRECTSOUNDBUFFER8 iface)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnSetFormat(LPDIRECTSOUNDBUFFER8 iface, LPCWAVEFORMATEX pcfxFormat)
VOID PrimaryDirectSoundBuffer_SetState(LPDIRECTSOUNDBUFFER8 iface, KSSTATE State)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnSetPan(LPDIRECTSOUNDBUFFER8 iface, LONG lPan)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnSetVolume(LPDIRECTSOUNDBUFFER8 iface, LONG lVolume)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetObjectInPath(LPDIRECTSOUNDBUFFER8 iface, REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnAcquireResources(LPDIRECTSOUNDBUFFER8 iface, DWORD dwFlags, DWORD dwEffectsCount, LPDWORD pdwResultCodes)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetFrequency(LPDIRECTSOUNDBUFFER8 iface, LPDWORD pdwFrequency)
HRESULT PrimaryDirectSoundBuffer_GetPosition(LPDIRECTSOUNDBUFFER8 iface, LPDWORD pdwCurrentPlayCursor, LPDWORD pdwCurrentWriteCursor)
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnGetStatus(LPDIRECTSOUNDBUFFER8 iface, LPDWORD pdwStatus)
HRESULT PrimaryDirectSoundBuffer_SetFormat(LPDIRECTSOUNDBUFFER8 iface, LPWAVEFORMATEX pcfxFormat, BOOL bLooped)
struct CDirectSoundBuffer * LPCDirectSoundBuffer
HRESULT WINAPI PrimaryDirectSoundBuffer8Impl_fnInitialize(LPDIRECTSOUNDBUFFER8 iface, LPDIRECTSOUND pDirectSound, LPCDSBUFFERDESC pcDSBufferDesc)
#define KSPROPERTY_TYPE_SET
#define KSPROPERTY_TYPE_GET
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
VOID WINAPI CoTaskMemFree(LPVOID ptr)
@ KSPROPERTY_CONNECTION_STATE
#define IOCTL_KS_PROPERTY
#define KSPROPSETID_Connection
#define IOCTL_KS_WRITE_STREAM
_In_ DWORD _In_ DWORD dwOffset
_Check_return_ HRESULT WINAPI StringFromIID(_In_ REFIID rclsid, _Outptr_ LPOLESTR *lplpsz)
#define IsEqualIID(riid1, riid2)
_In_ UCHAR _In_ ULONG _Out_ PUCHAR _Outptr_result_bytebuffer_ OutBufferLength PVOID * OutBuffer
const IDirectSoundBuffer8Vtbl * lpVtbl
DWORD dwUnlockTransferRate
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
#define CONTAINING_RECORD(address, type, field)
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
_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
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_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