windows-nt/Source/XPSP1/NT/public/internal/multimedia/inc/mmdet.h
2020-09-26 16:20:57 +08:00

131 lines
4.1 KiB
C

/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
mmdet.h
Abstract:
MM detection module header, borrowed from KyleB's net detection base
Author:
bryanw 18-Oct-1997
--*/
#ifndef _MMDET_H_
#define _MMDET_H_
#define DEVIDSTR_SB TEXT( "*PNPb000" ) // Sound Blaster wave
#define DEVIDSTR_SB2 TEXT( "*PNPb001" ) // Sound Blaster 2 wave
#define DEVIDSTR_SBPRO TEXT( "*PNPb002" ) // Sound Blaster Pro wave
#define DEVIDSTR_SB16 TEXT( "*PNPb003" ) // Sound Blaster 16 wave
#define DEVIDSTR_MV TEXT( "*PNPb004" ) // Media Vision Thunder Board
#define DEVIDSTR_ADLIB TEXT( "*PNPb005" ) // Adlib
#define DEVIDSTR_MPU401 TEXT( "*PNPb006" ) // MPU-401 midi
#define DEVIDSTR_SNDSYS TEXT( "*PNPb007" ) // Windows Sound System
#define DEVIDSTR_CPQBA TEXT( "*PNPb008" ) // Compaq Business Audio
#define DEVIDSTR_PAS16 TEXT( "*PNPb00d" ) // PAS-16 variations
#define DEVIDSTR_PAS16_WITH_SCSI TEXT( "*PNPb00e" ) // PAS-16 + SCSI
#define DEVIDSTR_PAS_ORIGINAL TEXT( "*PNPb018" ) // MV Pro Audio Spectrum (original)
#define DEVIDSTR_PAS_PLUS TEXT( "*PNPb019" ) // PAS Plus variations
#define DEVIDSTR_OPTI82C928 TEXT( "*PNPb01a" )
#define DEVIDSTR_OPTI82C929 TEXT( "*PNPb01b" )
#define DEVIDSTR_OPTI82C930 TEXT( "*PNPb01c" )
#define DEVIDSTR_PA3D TEXT( "*PNPb00b" ) // Media Vision ProAudio3D
#define DEVIDSTR_MQMPU401 TEXT( "*PNPb00c" ) // MusicQuest MPU-401 midi
#define DEVIDSTR_JAZZ TEXT( "*PNPb00f" ) // Media Vision OEM Jazz-16
#define DEVIDSTR_VXP500 TEXT( "*PNPb010" ) // Auravision VxP500 based video cap.
#define DEVIDSTR_ADLIBOPL3 TEXT( "*PNPb020" ) // Adlib OPL3 midi
#define DEVIDSTR_GAMEPORT TEXT( "*PNPb02f" ) // Game port
#define DEVIDSTR_AZTECH_PRO16 TEXT( "*AZT1608" )
#define DEVIDSTR_AZTECH_NOVA16 TEXT( "*AZT1605" )
#define DEVIDSTR_AZTECH_WASHINGTON16 TEXT( "*AZT2316" )
#define DEVIDSTR_ESS4881 TEXT( "*ESS4881" )
#define DEVIDSTR_ESS6881 TEXT( "*ESS6881" )
#define DEVIDSTR_ESS1481 TEXT( "*ESS1481" )
#define DEVIDSTR_ESS1681 TEXT( "*ESS1681" )
#define DEVIDSTR_ESS1781 TEXT( "*ESS1781" )
#define DEVIDSTR_ESS1881 TEXT( "*ESS1881" )
ULONG
WINAPI
MmDetectAdapters(
IN HDEVINFO DeviceInfoSet,
IN DI_FUNCTION InstallFunction
);
typedef
ULONG
(*PFNMMDETECTADAPTERS)(
IN HDEVINFO DeviceInfoSet,
IN DI_FUNCTION InstallFunction
);
#if (!defined( _NTDDK_ ) && !defined( NT_INCLUDED ))
typedef ULONG INTERFACE_TYPE,*PINTERFACE_TYPE;
#endif
typedef
VOID
(*PFNMMDETECTIRQCALLBACK)(
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN ULONG Context
);
USHORT
WINAPI
MmDetectIRQ(
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN USHORT InterruptMask,
IN PFNMMDETECTIRQCALLBACK SetInterrupt,
IN PFNMMDETECTIRQCALLBACK ClearInterrupt,
IN ULONG Context
);
#if (defined( _CFGMGR32_H_ ))
ULONG
WINAPI
MmRegisterDetectedDevice(
IN HDEVINFO DeviceInfoSet,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN PTSTR DeviceId,
IN PMEM_RESOURCE MemResources,
IN int MemResourceCount,
IN PIO_RESOURCE IoResources,
IN int IoResourceCount,
IN PIRQ_RESOURCE IrqResources,
IN int IrqResourceCount,
IN PDMA_RESOURCE DmaResources,
IN int DmaResourceCount
);
VOID
WINAPI
MmAvoidDetectedResources(
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN PMEM_RESOURCE MemResources,
IN int MemResourceCount,
IN PIO_RESOURCE IoResources,
IN int IoResourceCount,
IN PIRQ_RESOURCE IrqResources,
IN int IrqResourceCount,
IN PDMA_RESOURCE DmaResources,
IN int DmaResourceCount
);
#endif
#endif // _MMDET_H_