6 #define SB_WAVE_IN_DEVICE_NAME L"\\Device\\SBWaveIn" 7 #define SB_WAVE_OUT_DEVICE_NAME L"\\Device\\SBWaveOut" 9 #define SB_AUX_DEVICE_NAME L"\\Device\\SBAux" 10 #define SB_MIXER_DEVICE_NAME L"\\Device\\SBMixer" 12 #define DEFAULT_PORT 0x220 15 #define DEFAULT_BUFFER_SIZE 65535 17 #define SB_TIMEOUT 1000000 19 #define SB_DSP_READY 0xaa 77 #define SbWrite(sbdevice, subport, data) \ 78 WRITE_PORT_UCHAR((PUCHAR) sbdevice->port + subport, data) 80 #define SbRead(sbdevice, subport) \ 81 READ_PORT_UCHAR((PUCHAR) sbdevice->port + subport) 83 #define SbWriteReset(sbdevice, data) \ 84 SbWrite(sbdevice, SB_RESET_PORT, data) 86 #define SbWriteDataWithoutWait(sbdevice, data) \ 87 SbWrite(sbdevice, SB_WRITE_DATA_PORT, data) 89 #define SbReadDataWithoutWait(sbdevice) \ 90 SbRead(sbdevice, SB_READ_DATA_PORT) 93 #define SbGetWriteStatus(sbdevice) \ 94 SbRead(sbdevice, SB_WRITE_STATUS_PORT) 96 #define SbGetReadStatus(sbdevice) \ 97 SbRead(sbdevice, SB_READ_STATUS_PORT) 106 #define WaitToWrite(sbdevice) \ 107 WaitForReady(sbdevice, SB_WRITE_STATUS_PORT) 109 #define WaitToRead(sbdevice) \ 110 WaitForReady(sbdevice, SB_READ_STATUS_PORT)
BOOLEAN EnableSpeaker(PSOUND_BLASTER_PARAMETERS SBDevice)
BOOLEAN IsSampleRateCompatible(PSOUND_BLASTER_PARAMETERS SBDevice, ULONG SampleRate)
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
ULONG GetSoundBlasterModel(PSOUND_BLASTER_PARAMETERS SBDevice)
_In_ PDEVICE_OBJECT DeviceObject
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
BOOLEAN WaitForReady(PSOUND_BLASTER_PARAMETERS SBDevice, UCHAR Port)
NTSTATUS EnableIrq(PDEVICE_OBJECT DeviceObject)
BOOLEAN ResetSoundBlaster(PSOUND_BLASTER_PARAMETERS SBDevice)
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
REGISTRY_CALLBACK_ROUTINE * PREGISTRY_CALLBACK_ROUTINE
BOOLEAN StartSoundOutput(PSOUND_BLASTER_PARAMETERS SBDevice, ULONG BitDepth, ULONG Channels, ULONG BlockSize)
struct _SOUND_BLASTER_PARAMETERS * PSOUND_BLASTER_PARAMETERS
BOOLEAN DisableSpeaker(PSOUND_BLASTER_PARAMETERS SBDevice)
NTAPI NTSTATUS REGISTRY_CALLBACK_ROUTINE(PDRIVER_OBJECT DriverObject, PWSTR RegistryPath)
BOOLEAN SetOutputSampleRate(PSOUND_BLASTER_PARAMETERS SBDevice, ULONG SampleRate)
struct _SOUND_BLASTER_PARAMETERS SOUND_BLASTER_PARAMETERS