15#define WIN32_NO_STATUS
17#define COM_NO_WINDOWS_H
54 SND_TRACE(
L"Sndblst - GetSoundBlasterDeviceCapabilities\n");
120 SND_TRACE(
L"(Callback) Found device: %wS\n", DevicePath);
static NDIS_HANDLE DriverHandle
#define DLL_THREAD_DETACH
#define DLL_PROCESS_ATTACH
#define DLL_PROCESS_DETACH
#define DLL_THREAD_ATTACH
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
PWSTR SBMidiOutDeviceName
PWSTR SBWaveOutDeviceName
BOOLEAN FoundDevice(UCHAR DeviceType, PWSTR DevicePath)
LONG APIENTRY DriverProc(DWORD DriverId, HANDLE DriverHandle, UINT Message, LONG Parameter1, LONG Parameter2)
MMRESULT GetSoundBlasterDeviceCapabilities(IN PSOUND_DEVICE SoundDevice, IN DWORD DeviceId, OUT PVOID Capabilities, IN DWORD CapabilitiesSize)
LRESULT WINAPI DefDriverProc(DWORD_PTR dwDriverIdentifier, HDRVR hDrv, UINT Msg, LPARAM lParam1, LPARAM lParam2)
static const WCHAR Message[]
_Must_inspect_result_ typedef _Out_ PHIDP_CAPS Capabilities
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
static IN DWORD IN LPVOID lpvReserved
MMRESULT ListSoundDevice(IN MMDEVICE_TYPE DeviceType, IN PVOID Identifier OPTIONAL, OUT PSOUND_DEVICE *SoundDevice OPTIONAL)
MMRESULT WriteFileEx_Committer(IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN PVOID OffsetPtr, IN DWORD Length, IN PSOUND_OVERLAPPED Overlap, IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine)
MMRESULT SetSoundDeviceFunctionTable(IN PSOUND_DEVICE SoundDevice, IN PMMFUNCTION_TABLE FunctionTable)
#define AllocateWideString(string_length)
#define CopyWideString(dest, source)
MMRESULT GetSoundDeviceType(IN PSOUND_DEVICE SoundDevice, OUT PMMDEVICE_TYPE DeviceType)
#define MMSUCCESS(result)
#define SND_ASSERT(condition)
MMRESULT OpenNt4SoundDevice(IN PSOUND_DEVICE SoundDevice, OUT PVOID *Handle)
MMRESULT GetNt4SoundDeviceCapabilities(IN PSOUND_DEVICE SoundDevice, OUT PVOID Capabilities, IN DWORD CapabilitiesSize)
MMRESULT QueryNt4WaveDeviceFormatSupport(IN PSOUND_DEVICE SoundDevice, IN LPWAVEFORMATEX Format, IN DWORD FormatSize)
MMRESULT EnumerateNt4ServiceSoundDevices(IN LPWSTR ServiceName, IN MMDEVICE_TYPE DeviceType, IN SOUND_DEVICE_DETECTED_PROC SoundDeviceDetectedProc)
MMRESULT CloseNt4SoundDevice(IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN PVOID Handle)
MMRESULT SetNt4WaveDeviceFormat(IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN DWORD DeviceId, IN LPWAVEFORMATEX Format, IN DWORD FormatSize)
#define DRV_QUERYCONFIGURE
WAVEINCAPSA * LPWAVEINCAPS
MIDIINCAPSA * LPMIDIINCAPS
WAVEOUTCAPSA * LPWAVEOUTCAPS
MIDIOUTCAPSA * LPMIDIOUTCAPS
VOID CleanupEntrypointMutexes()
MMRESULT InitEntrypointMutexes()
VOID UnlistAllSoundDevices()
UINT GetMemoryAllocationCount()
MMGETCAPS_FUNC GetCapabilities
MMWAVEQUERYFORMATSUPPORT_FUNC QueryWaveFormatSupport
WAVE_COMMIT_FUNC CommitWaveBuffer
MMWAVESETFORMAT_FUNC SetWaveFormat
CHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
_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