|
|
1.1 ! root 1: /*++ BUILD Version: 0001 // Increment this if a change has global effects ! 2: ! 3: ! 4: Copyright (c) 1990 Microsoft Corporation ! 5: ! 6: Module Name: ! 7: ! 8: soundlib.h ! 9: ! 10: Abstract: ! 11: ! 12: This include file defines common structures for sound drivers ! 13: ! 14: Author: ! 15: ! 16: Robin Speed (RobinSp) 17-Oct-92 ! 17: ! 18: Revision History: ! 19: --*/ ! 20: ! 21: #define VOLUME_NOTIFY ! 22: ! 23: //#include <ntddk.h> ! 24: #include <ntddk.h> ! 25: #include <soundcfg.h> ! 26: #include <ntddwave.h> ! 27: #include <ntddaux.h> ! 28: #include <ntddmidi.h> ! 29: #include <devices.h> ! 30: #include <windef.h> ! 31: #include <mmsystem.h> ! 32: #include <mmreg.h> ! 33: ! 34: ! 35: ! 36: // ! 37: // Debug macros ! 38: // ! 39: ! 40: #if DBG ! 41: extern char *DriverName; // Fill this in in init routine ! ! 42: extern ULONG SoundDebugLevel; ! 43: extern void dDbgOut(char *szFormat, ...); ! 44: ! 45: #define dprintf( _x_ ) dDbgOut _x_ ! 46: #define dprintf1( _x_ ) if (SoundDebugLevel >= 1) dDbgOut _x_ ! 47: #define dprintf2( _x_ ) if (SoundDebugLevel >= 2) dDbgOut _x_ ! 48: #define dprintf3( _x_ ) if (SoundDebugLevel >= 3) dDbgOut _x_ ! 49: #define dprintf4( _x_ ) if (SoundDebugLevel >= 4) dDbgOut _x_ ! 50: #define dprintf5( _x_ ) if (SoundDebugLevel >= 5) dDbgOut _x_ ! 51: #define dprintf6( _x_ ) if (SoundDebugLevel >= 6) dDbgOut _x_ ! 52: ! 53: #else ! 54: ! 55: #define dprintf( _x_ ) ! 56: #define dprintf1( _x_ ) ! 57: #define dprintf2( _x_ ) ! 58: #define dprintf3( _x_ ) ! 59: #define dprintf4( _x_ ) ! 60: #define dprintf5( _x_ ) ! 61: #define dprintf6( _x_ ) ! 62: ! 63: #endif ! 64: ! 65: // ! 66: // Functions ! 67: // ! 68: ! 69: ! 70: ! 71: ! 72: NTSTATUS ! 73: SoundGetBusNumber( ! 74: IN OUT INTERFACE_TYPE InterfaceType, ! 75: OUT PULONG BusNumber ! 76: ); ! 77: ! 78: NTSTATUS ! 79: SoundSaveRegistryPath( ! 80: IN PUNICODE_STRING RegistryPathName, ! 81: OUT PWSTR *SavedString ! 82: ); ! 83: ! 84: NTSTATUS SoundReportResourceUsage( ! 85: IN PDEVICE_OBJECT DeviceObject, ! 86: IN INTERFACE_TYPE BusType, ! 87: IN ULONG BusNumber, ! 88: IN PULONG InterruptNumber OPTIONAL, ! 89: IN KINTERRUPT_MODE InterruptMode, ! 90: IN BOOLEAN InterruptShareDisposition, ! 91: IN PULONG DmaChannel OPTIONAL, ! 92: IN PULONG FirstIoPort OPTIONAL, ! 93: IN ULONG IoPortLength ! 94: ); ! 95: ! 96: VOID ! 97: SoundFreeDevice( ! 98: IN PDEVICE_OBJECT DeviceObject ! 99: ); ! 100: ! 101: NTSTATUS ! 102: SoundCreateDevice( ! 103: IN PSOUND_DEVICE_INIT DeviceInit, ! 104: IN UCHAR CreationFlags, ! 105: IN PDRIVER_OBJECT pDriverObject, ! 106: IN PVOID pGDI, ! 107: IN PVOID DeviceData, ! 108: IN PVOID pHw, ! 109: IN int i, ! 110: OUT PDEVICE_OBJECT *ppDevObj ! 111: ); ! 112: ! 113: ! 114: PUCHAR ! 115: SoundMapPortAddress( ! 116: INTERFACE_TYPE BusType, ! 117: ULONG BusNumber, ! 118: ULONG PortBase, ! 119: ULONG Length, ! 120: PULONG MemType ! 121: ); ! 122: NTSTATUS ! 123: SoundConnectInterrupt( ! 124: IN ULONG InterruptNumber, ! 125: IN INTERFACE_TYPE BusType, ! 126: IN ULONG BusNumber, ! 127: IN PKSERVICE_ROUTINE Isr, ! 128: IN PVOID ServiceContext, ! 129: IN KINTERRUPT_MODE InterruptMode, ! 130: IN BOOLEAN ShareVector, ! 131: OUT PKINTERRUPT *Interrupt ! 132: ); ! 133: ! 134: ! 135: NTSTATUS ! 136: SoundSetErrorCode( ! 137: IN PWSTR RegistryPath, ! 138: IN ULONG Value ! 139: ); ! 140: ! 141: NTSTATUS ! 142: SoundWriteRegistryDWORD( ! 143: IN PWSTR RegistryPath, ! 144: IN PWSTR ValueName, ! 145: IN ULONG Value ! 146: ); ! 147: ! 148: VOID ! 149: SoundDelay( ! 150: IN ULONG Milliseconds ! 151: ); ! 152: LARGE_INTEGER ! 153: SoundGetTime( ! 154: VOID ! 155: ); ! 156: ! 157: VOID ! 158: SoundFreeQ( ! 159: PLIST_ENTRY ListHead, ! 160: NTSTATUS IoStatus ! 161: ); ! 162: ! 163: VOID ! 164: SoundAddIrpToCancellableQ( ! 165: PLIST_ENTRY QueueHead, ! 166: PIRP Irp, ! 167: BOOLEAN Head ! 168: ); ! 169: ! 170: PIRP ! 171: SoundRemoveFromCancellableQ( ! 172: PLIST_ENTRY QueueHead ! 173: ); ! 174: ! 175: VOID ! 176: SoundRaiseHardError( ! 177: PWSTR ErrorText ! 178: ); ! 179: ! 180: VOID ! 181: SoundFlushRegistryKey( ! 182: IN PWSTR RegistryPathName ! 183: );
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.