File:  [WindowsNT SDKs] / ntddk / src / mmedia / synth / driver / sound.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Thu Aug 9 18:31:12 2018 UTC (7 years, 9 months ago) by root
Branches: msft, MAIN
CVS tags: ntddk-nov-1993, HEAD
Microsoft Windows NT Build 511 (DDK SDK) 11-01-1993

/*++ BUILD Version: 0002    // Increment this if a change has global effects


Copyright (c) 1993  Microsoft Corporation

Module Name:

    sound.h

Abstract:

    This include file defines constants and types for
    the Microsoft midi synthesiser kernel-mode driver

Author:

    Robin Speed (RobinSp) 20-Oct-92

Revision History:

--*/


//
// Other header files needed to build this driver
//

#include <soundlib.h>
#include "hardware.h"

#define DRIVER_VERSION  0x0100


//
// Magic markers
//

#define GDI_KEY             (*(ULONG *)"GDI ")



extern SOUND_DEVICE_INIT DeviceInit[NumberOfDevices];


typedef struct {
    WAVE_DD_VOLUME Volume[NumberOfDevices];
} SOUND_CONFIG_DATA, *PSOUND_CONFIG_DATA;


//
// driver global data structure shared by each device object
// Note that we have one global spin lock used for all access
// to both the global data and the local data structures.
//

typedef struct _GLOBAL_DEVICE_INFO {

    // static items not requiring use of the spin lock

    ULONG           Key;
    INTERFACE_TYPE  BusType;
    ULONG           BusNumber;

    //
    // Device access
    //

    KMUTEX          MidiMutex;

    ULONG           MemType;
    PDEVICE_OBJECT  DeviceObject[       // pointer to input device objects
                      NumberOfDevices];
    PDRIVER_OBJECT  DriverObject;       // The actual driver instance

    UCHAR           DeviceInUse;

    SOUND_HARDWARE  Hw;                 // Hardware specific stuff

    //
    // Registry path saving
    //

    PWSTR           RegistryPathName;
} GLOBAL_DEVICE_INFO, *PGLOBAL_DEVICE_INFO;


//
// config.c Configuration routines
//

NTSTATUS
SoundReadConfiguration(
    IN  PWSTR ValueName,
    IN  ULONG ValueType,
    IN  PVOID ValueData,
    IN  ULONG ValueLength,
    IN  PVOID Context,
    IN  PVOID EntryContext
);

NTSTATUS
SoundGetSynthConfig(
    IN OUT PGLOBAL_DEVICE_INFO pGDI
);

VOID
SoundSaveVolume(
    PGLOBAL_DEVICE_INFO pGDI
);


SOUND_DISPATCH_ROUTINE SoundMidiDispatch;


//
// mididisp.c
//


VOID
SoundMidiQuiet(
    IN	  UCHAR DeviceIndex,
    IN    PSOUND_HARDWARE pHw
);

NTSTATUS
SoundSynthPortValid(
    IN OUT PGLOBAL_DEVICE_INFO pGDI
);

BOOL
SoundMidiIsOpl3(
    IN    PSOUND_HARDWARE pHw
);


unix.superglobalmegacorp.com

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