Annotation of ntddk/src/mmedia/synth/driver/sound.h, revision 1.1.1.1

1.1       root        1: /*++ BUILD Version: 0002    // Increment this if a change has global effects
                      2: 
                      3: 
                      4: Copyright (c) 1993  Microsoft Corporation
                      5: 
                      6: Module Name:
                      7: 
                      8:     sound.h
                      9: 
                     10: Abstract:
                     11: 
                     12:     This include file defines constants and types for
                     13:     the Microsoft midi synthesiser kernel-mode driver
                     14: 
                     15: Author:
                     16: 
                     17:     Robin Speed (RobinSp) 20-Oct-92
                     18: 
                     19: Revision History:
                     20: 
                     21: --*/
                     22: 
                     23: 
                     24: //
                     25: // Other header files needed to build this driver
                     26: //
                     27: 
                     28: #include <soundlib.h>
                     29: #include "hardware.h"
                     30: 
                     31: #define DRIVER_VERSION  0x0100
                     32: 
                     33: 
                     34: //
                     35: // Magic markers
                     36: //
                     37: 
                     38: #define GDI_KEY             (*(ULONG *)"GDI ")
                     39: 
                     40: 
                     41: 
                     42: extern SOUND_DEVICE_INIT DeviceInit[NumberOfDevices];
                     43: 
                     44: 
                     45: typedef struct {
                     46:     WAVE_DD_VOLUME Volume[NumberOfDevices];
                     47: } SOUND_CONFIG_DATA, *PSOUND_CONFIG_DATA;
                     48: 
                     49: 
                     50: //
                     51: // driver global data structure shared by each device object
                     52: // Note that we have one global spin lock used for all access
                     53: // to both the global data and the local data structures.
                     54: //
                     55: 
                     56: typedef struct _GLOBAL_DEVICE_INFO {
                     57: 
                     58:     // static items not requiring use of the spin lock
                     59: 
                     60:     ULONG           Key;
                     61:     INTERFACE_TYPE  BusType;
                     62:     ULONG           BusNumber;
                     63: 
                     64:     //
                     65:     // Device access
                     66:     //
                     67: 
                     68:     KMUTEX          MidiMutex;
                     69: 
                     70:     ULONG           MemType;
                     71:     PDEVICE_OBJECT  DeviceObject[       // pointer to input device objects
                     72:                       NumberOfDevices];
                     73:     PDRIVER_OBJECT  DriverObject;       // The actual driver instance
                     74: 
                     75:     UCHAR           DeviceInUse;
                     76: 
                     77:     SOUND_HARDWARE  Hw;                 // Hardware specific stuff
                     78: 
                     79:     //
                     80:     // Registry path saving
                     81:     //
                     82: 
                     83:     PWSTR           RegistryPathName;
                     84: } GLOBAL_DEVICE_INFO, *PGLOBAL_DEVICE_INFO;
                     85: 
                     86: 
                     87: //
                     88: // config.c Configuration routines
                     89: //
                     90: 
                     91: NTSTATUS
                     92: SoundReadConfiguration(
                     93:     IN  PWSTR ValueName,
                     94:     IN  ULONG ValueType,
                     95:     IN  PVOID ValueData,
                     96:     IN  ULONG ValueLength,
                     97:     IN  PVOID Context,
                     98:     IN  PVOID EntryContext
                     99: );
                    100: 
                    101: NTSTATUS
                    102: SoundGetSynthConfig(
                    103:     IN OUT PGLOBAL_DEVICE_INFO pGDI
                    104: );
                    105: 
                    106: VOID
                    107: SoundSaveVolume(
                    108:     PGLOBAL_DEVICE_INFO pGDI
                    109: );
                    110: 
                    111: 
                    112: SOUND_DISPATCH_ROUTINE SoundMidiDispatch;
                    113: 
                    114: 
                    115: //
                    116: // mididisp.c
                    117: //
                    118: 
                    119: 
                    120: VOID
                    121: SoundMidiQuiet(
                    122:     IN   UCHAR DeviceIndex,
                    123:     IN    PSOUND_HARDWARE pHw
                    124: );
                    125: 
                    126: NTSTATUS
                    127: SoundSynthPortValid(
                    128:     IN OUT PGLOBAL_DEVICE_INFO pGDI
                    129: );
                    130: 
                    131: BOOL
                    132: SoundMidiIsOpl3(
                    133:     IN    PSOUND_HARDWARE pHw
                    134: );
                    135: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.