42 UCHAR DSP_Major = 0, DSP_Minor = 0;
48 DPRINT(
"Sorry - only 1 device supported by Sound Blaster driver at present :(\n");
52 DPRINT(
"Creating IO device\n");
68 DPRINT(
"Creating DOS link\n");
80 DPRINT(
"Initializing device\n");
98 DPRINT(
"Setting reg path\n");
102 DPRINT(
"Zeroing table memory and setting query routine\n");
106 DPRINT(
"Setting port and IRQ defaults\n");
131 DPRINT(
"Sound card initialization FAILED!\n");
139 DSP_Major = DSP_Version / 256;
140 DSP_Minor = DSP_Version % 256;
144 DPRINT(
"Allocating DMA\n");
170 DPRINT(
"BlasterCreate() called!\n");
185 Irp->IoStatus.Information = 0;
187 DPRINT(
"IoCompleteRequest()\n");
192 DPRINT(
"BlasterCreate() completed\n");
212 DPRINT(
"BlasterClose() called!\n");
219 Irp->IoStatus.Information = 0;
239 DPRINT(
"BlasterCleanup() called!\n");
242 for (Channel = 0; Channel <= 15; Channel ++)
252 Irp->IoStatus.Information = 0;
268 DPRINT(
"BlasterWrite() called!\n");
273 DPRINT(
"%d bytes\n",
Stack->Parameters.Write.Length);
285 Irp->IoStatus.Information = 0;
307 DPRINT(
"BlasterDeviceControl() called!\n");
312 switch(
Stack->Parameters.DeviceIoControl.IoControlCode)
415 DPRINT(
"BlasterUnload() called!\n");
436 DPRINT(
"Sound Blaster Device Driver 0.0.2\n");
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
VOID BeginPlayback(ULONG BasePort, ULONG BitDepth, ULONG Channels, ULONG BlockSize)
#define NT_SUCCESS(StatCode)
DRIVER_INITIALIZE DriverEntry
NTSTATUS NTAPI IoCreateDevice(IN PDRIVER_OBJECT DriverObject, IN ULONG DeviceExtensionSize, IN PUNICODE_STRING DeviceName, IN DEVICE_TYPE DeviceType, IN ULONG DeviceCharacteristics, IN BOOLEAN Exclusive, OUT PDEVICE_OBJECT *DeviceObject)
VOID NTAPI IoDeleteDevice(IN PDEVICE_OBJECT DeviceObject)
#define IoCompleteRequest
NTSTATUS NTAPI IoCreateSymbolicLink(IN PUNICODE_STRING SymbolicLinkName, IN PUNICODE_STRING DeviceName)
#define STATUS_NOT_IMPLEMENTED
#define FILE_DEVICE_SOUND
#define IRP_MJ_DEVICE_CONTROL
#define RTL_CONSTANT_STRING(s)
#define RtlZeroMemory(Destination, Length)
#define STATUS_UNSUCCESSFUL
#define STATUS_INSUFFICIENT_RESOURCES
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _In_ LARGE_INTEGER ByteCount