Data Structures |
| struct | PSOUND_OVERLAPPED |
| struct | PMMFUNCTION_TABLE |
| struct | PSOUND_THREAD |
| struct | PSOUND_DEVICE |
| struct | PSOUND_DEVICE_INSTANCE |
| struct | PWAVEHDR_EXTENSION |
Defines |
| #define | POPUP(...) |
| #define | SND_ERR(...) |
| #define | SND_WARN(...) |
| #define | SND_TRACE(...) |
| #define | SND_ASSERT(condition) |
| #define | DUMP_WAVEHDR_QUEUE(sound_device_instance) |
| #define | AllocateStruct(thing) (thing*) AllocateMemory(sizeof(thing)) |
| #define | StringLengthToBytes(chartype, string_length) ( ( string_length + 1 ) * sizeof(chartype) ) |
| #define | AllocateWideString(string_length) (PWSTR) AllocateMemory(StringLengthToBytes(WCHAR, string_length)) |
| #define | ZeroWideString(string) ZeroMemory(string, StringLengthToBytes(WCHAR, wcslen(string))) |
| #define | CopyWideString(dest, source) CopyMemory(dest, source, StringLengthToBytes(WCHAR, wcslen(source))) |
| #define | MinimumOf(value_a, value_b) ( value_a < value_b ? value_a : value_b ) |
| #define | MaximumOf(value_a, value_b) ( value_a > value_b ? value_a : value_b ) |
| #define | SOUND_DEVICE_TYPE_TO_INDEX(x) ( x - MIN_SOUND_DEVICE_TYPE ) |
| #define | INDEX_TO_SOUND_DEVICE_TYPE(x) ( x + MIN_SOUND_DEVICE_TYPE ) |
| #define | IsValidSoundDeviceType IS_VALID_SOUND_DEVICE_TYPE |
| #define | VALIDATE_MMSYS_PARAMETER(parameter_condition) |
| #define | MMSUCCESS(result) ( result == MMSYSERR_NOERROR ) |
| #define | DEFINE_GETCAPS_FUNCTYPE(func_typename, caps_type) |
| #define | MmePrepareWaveHeader(private_handle, header) PrepareWaveHeader((PSOUND_DEVICE_INSTANCE)private_handle, (PWAVEHDR)header) |
| #define | MmeUnprepareWaveHeader(private_handle, header) UnprepareWaveHeader((PSOUND_DEVICE_INSTANCE)private_handle, (PWAVEHDR)header) |
| #define | MmeWriteWaveHeader(private_handle, header) WriteWaveHeader((PSOUND_DEVICE_INSTANCE)private_handle, (PWAVEHDR)header) |
Typedefs |
| typedef UCHAR | MMDEVICE_TYPE |
| typedef UCHAR * | PMMDEVICE_TYPE |
| typedef MMRESULT(* | WAVE_COMMIT_FUNC )(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN PVOID OffsetPtr, IN DWORD Bytes, IN PSOUND_OVERLAPPED Overlap, IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine) |
| typedef MMRESULT(* | MMMIXERQUERY_FUNC )(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN DWORD DeviceId, IN UINT uMsg, IN LPVOID Parameter, IN DWORD Flags) |
| typedef MMRESULT(* | MMWAVEQUERYFORMATSUPPORT_FUNC )(IN struct _SOUND_DEVICE *Device, IN PWAVEFORMATEX WaveFormat, IN DWORD WaveFormatSize) |
| typedef MMRESULT(* | MMWAVESETFORMAT_FUNC )(IN struct _SOUND_DEVICE_INSTANCE *Instance, IN DWORD DeviceId, IN PWAVEFORMATEX WaveFormat, IN DWORD WaveFormatSize) |
| typedef MMRESULT(* | MMOPEN_FUNC )(IN struct _SOUND_DEVICE *SoundDevice, OUT PVOID *Handle) |
| typedef MMRESULT(* | MMCLOSE_FUNC )(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN PVOID Handle) |
| typedef MMRESULT(* | MMWAVEHEADER_FUNC )(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN PWAVEHDR WaveHeader) |
| typedef MMRESULT(* | MMBUFFER_FUNC )(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN PVOID Buffer, IN DWORD Length) |
| typedef MMRESULT(* | MMGETPOS_FUNC )(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN MMTIME *Time) |
| typedef MMRESULT(* | MMSETSTATE_FUNC )(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN BOOL bStart) |
| typedef MMRESULT(* | MMQUERYDEVICEINTERFACESTRING_FUNC )(IN MMDEVICE_TYPE DeviceType, IN DWORD DeviceId, IN LPWSTR Interface, IN DWORD InterfaceLength, OUT DWORD *InterfaceSize) |
| typedef MMRESULT(* | MMRESETSTREAM_FUNC )(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN MMDEVICE_TYPE DeviceType, IN BOOLEAN bStartReset) |
| typedef MMRESULT(* | SOUND_THREAD_REQUEST_HANDLER )(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN PVOID Parameter) |
Functions |
| | DEFINE_GETCAPS_FUNCTYPE (MMGETCAPS_FUNC, PVOID) |
| | DEFINE_GETCAPS_FUNCTYPE (MMGETWAVEOUTCAPS_FUNC, LPWAVEOUTCAPS) |
| | DEFINE_GETCAPS_FUNCTYPE (MMGETWAVEINCAPS_FUNC, LPWAVEINCAPS) |
| | DEFINE_GETCAPS_FUNCTYPE (MMGETMIDIOUTCAPS_FUNC, LPMIDIOUTCAPS) |
| | DEFINE_GETCAPS_FUNCTYPE (MMGETMIDIINCAPS_FUNC, LPMIDIINCAPS) |
| MMRESULT | InitEntrypointMutexes (VOID) |
| VOID | CleanupEntrypointMutexes (VOID) |
| VOID | AcquireEntrypointMutex (IN MMDEVICE_TYPE DeviceType) |
| VOID | ReleaseEntrypointMutex (IN MMDEVICE_TYPE DeviceType) |
| VOID | NotifyMmeClient (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN UINT Message, IN DWORD_PTR Parameter) |
| MMRESULT | MmeGetSoundDeviceCapabilities (IN MMDEVICE_TYPE DeviceType, IN DWORD DeviceId, IN PVOID Capabilities, IN DWORD CapabilitiesSize) |
| MMRESULT | MmeOpenDevice (IN MMDEVICE_TYPE DeviceType, IN UINT DeviceId, IN LPWAVEOPENDESC OpenParameters, IN DWORD Flags, OUT DWORD_PTR *PrivateHandle) |
| MMRESULT | MmeCloseDevice (IN DWORD_PTR PrivateHandle) |
| MMRESULT | MmeGetPosition (IN MMDEVICE_TYPE DeviceType, IN DWORD DeviceId, IN DWORD_PTR PrivateHandle, IN MMTIME *Time, IN DWORD Size) |
| MMRESULT | MmeGetDeviceInterfaceString (IN MMDEVICE_TYPE DeviceType, IN DWORD DeviceId, IN LPWSTR Interface, IN DWORD InterfaceLength, OUT DWORD *InterfaceSize) |
| MMRESULT | MmeSetState (IN DWORD_PTR PrivateHandle, IN BOOL bStart) |
| MMRESULT | MmeResetWavePlayback (IN DWORD_PTR PrivateHandle) |
| MMRESULT | GetSoundDeviceCapabilities (IN PSOUND_DEVICE SoundDevice, IN DWORD DeviceId, OUT PVOID Capabilities, IN DWORD CapabilitiesSize) |
| ULONG | GetSoundDeviceCount (IN MMDEVICE_TYPE DeviceType) |
| BOOLEAN | IsValidSoundDevice (IN PSOUND_DEVICE SoundDevice) |
| MMRESULT | ListSoundDevice (IN MMDEVICE_TYPE DeviceType, IN PVOID Identifier OPTIONAL, OUT PSOUND_DEVICE *SoundDevice OPTIONAL) |
| MMRESULT | UnlistSoundDevice (IN MMDEVICE_TYPE DeviceType, IN PSOUND_DEVICE SoundDevice) |
| MMRESULT | UnlistSoundDevices (IN MMDEVICE_TYPE DeviceType) |
| VOID | UnlistAllSoundDevices (VOID) |
| MMRESULT | GetSoundDevice (IN MMDEVICE_TYPE DeviceType, IN DWORD DeviceIndex, OUT PSOUND_DEVICE *Device) |
| MMRESULT | GetSoundDeviceIdentifier (IN PSOUND_DEVICE SoundDevice, OUT PVOID *Identifier) |
| MMRESULT | GetSoundDeviceType (IN PSOUND_DEVICE SoundDevice, OUT PMMDEVICE_TYPE DeviceType) |
| MMRESULT | SetSoundDeviceFunctionTable (IN PSOUND_DEVICE SoundDevice, IN PMMFUNCTION_TABLE FunctionTable) |
| MMRESULT | GetSoundDeviceFunctionTable (IN PSOUND_DEVICE SoundDevice, OUT PMMFUNCTION_TABLE *FunctionTable) |
| BOOLEAN | IsValidSoundDeviceInstance (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance) |
| MMRESULT | CreateSoundDeviceInstance (IN PSOUND_DEVICE SoundDevice, OUT PSOUND_DEVICE_INSTANCE *SoundDeviceInstance) |
| MMRESULT | DestroySoundDeviceInstance (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance) |
| MMRESULT | DestroyAllSoundDeviceInstances (IN PSOUND_DEVICE SoundDevice) |
| MMRESULT | GetSoundDeviceFromInstance (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, OUT PSOUND_DEVICE *SoundDevice) |
| MMRESULT | GetSoundDeviceInstanceHandle (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, OUT PVOID *Handle) |
| MMRESULT | SetSoundDeviceInstanceMmeData (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN HDRVR MmeHandle, IN DWORD_PTR ClientCallback, IN DWORD_PTR ClientCallbackData, IN DWORD Flags) |
| MMRESULT | CreateSoundThread (OUT PSOUND_THREAD *Thread) |
| MMRESULT | DestroySoundThread (IN PSOUND_THREAD Thread) |
| MMRESULT | CallSoundThread (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN SOUND_THREAD_REQUEST_HANDLER RequestHandler, IN PVOID Parameter OPTIONAL) |
| PVOID | AllocateMemory (IN UINT Size) |
| VOID | FreeMemory (IN PVOID Pointer) |
| UINT | GetMemoryAllocationCount (VOID) |
| UINT | GetDigitCount (IN UINT Number) |
| MMRESULT | Win32ErrorToMmResult (IN UINT ErrorCode) |
| MMRESULT | TranslateInternalMmResult (IN MMRESULT Result) |
| MMRESULT | QueryWaveDeviceFormatSupport (IN PSOUND_DEVICE SoundDevice, IN LPWAVEFORMATEX Format, IN DWORD FormatSize) |
| MMRESULT | SetWaveDeviceFormat (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN DWORD DeviceId, IN LPWAVEFORMATEX Format, IN DWORD FormatSize) |
| MMRESULT | EnqueueWaveHeader (PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN PVOID Parameter) |
| VOID | CompleteWaveHeader (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN PWAVEHDR Header) |
| MMRESULT | PrepareWaveHeader (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN PWAVEHDR Header) |
| MMRESULT | UnprepareWaveHeader (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN PWAVEHDR Header) |
| MMRESULT | WriteWaveHeader (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN PWAVEHDR Header) |
| VOID | DoWaveStreaming (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance) |
| VOID CALLBACK | CompleteIO (IN DWORD dwErrorCode, IN DWORD dwNumberOfBytesTransferred, IN LPOVERLAPPED lpOverlapped) |
| MMRESULT | CommitWaveHeaderToKernelDevice (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN PWAVEHDR Header, IN WAVE_COMMIT_FUNC CommitFunction) |
| MMRESULT | WriteFileEx_Committer (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN PVOID OffsetPtr, IN DWORD Length, IN PSOUND_OVERLAPPED Overlap, IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine) |
| MMRESULT | StopStreaming (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance) |
| VOID | InitiateSoundStreaming (IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance) |
| MMRESULT | OpenKernelSoundDeviceByName (IN PWSTR DevicePath, IN BOOLEAN ReadOnly, OUT PHANDLE Handle) |
| MMRESULT | OpenKernelSoundDevice (IN PSOUND_DEVICE SoundDevice, IN BOOLEAN ReadOnly, OUT PHANDLE Handle) |
| MMRESULT | CloseKernelSoundDevice (IN HANDLE Handle) |
| MMRESULT | SyncOverlappedDeviceIoControl (IN HANDLE SoundDeviceInstance, IN DWORD IoControlCode, IN LPVOID InBuffer, IN DWORD InBufferSize, OUT LPVOID OutBuffer, IN DWORD OutBufferSize, OUT LPDWORD BytesTransferred OPTIONAL) |