Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Интегрированная среда моделирования РДО / DRIVERS / INST.DLL / INSTDRVS
.H/*************************************************************************
* *
* Definitions for INSTDRV.DLL *
* JSC Active 1998-99 *
*************************************************************************/
#ifndef __INSTDRVS__H__
#define __INSTDRVS__H__
typedef struct _GD_DRIVER_INFO
{
WORD di_wSize; // Structure size
WORD di_wSign; // Signature
DWORD di_dwUpdateFlags; // Flags for future use
WORD di_wVersion; // Version
WORD di_reserved_00;
WORD di_awBase[3]; // Base addresses
WORD di_reserved_01;
DWORD di_adwHKey[3]; // Registry keys
DWORD di_adwMethod[3]; // Capture methods
DWORD di_dwTimeout; // Timeout
struct _TFlags // Flags of supported features:
{
unsigned fConfigurable :1; // Is driver configurable or not?
// Features supported by driver:
// 1. Methods
unsigned mSteal :1; // Steal resource (95)
unsigned mAquire :1; // Aquire resourse (95)
unsigned mCrSect :1; // Critical section (95)
unsigned mMask :1; // Masking interupts (95)
unsigned mCli :1; // Cli (95)
unsigned mAlloc :1; // Allocate port (NT)
unsigned mIrql :1; // Set IRQL (NT)
// 2. Configuration flags
unsigned cTimers :1; // Selectable timer and delay method
unsigned :23; // reserved for future use
unsigned reserved2[2];
} di_Flags;
BYTE di_lpBuildTime[16]; // Build time (string in DD-MM-YY HH:MM format)
BYTE di_abIrql[3]; // IRQL values for each port
BYTE di_reserved_02;
BYTE di_bPort; // Mask of ports for use
BYTE di_reserved_03[3];
DWORD di_dwConfigFlags; // Driver configuration
DWORD di_dwTimeLoop; // Timer / Loop supported methods
BYTE di_reserved_4[172]; // Total size of structure is 256 bytes
} GD_DRIVER_INFO, *PGD_DRIVER_INFO;;
#define ge_NO_ERROR 0x00
#define ge_DRIVER_NOT_FOUND 0x01
#define ge_DRIVER_ALREADY_INSTALLED 0x02
#define ge_DRIVER_OLD_VERSION 0x03
#define ge_DRIVER_NEWER_VERSION 0x04
#define ge_DRIVER_NOT_REMOVED 0x05
#define ge_DRIVER_CONFIG_NOT_SUPPORTED 0x06
#define ge_DIOCTL_FAIL 0x07
#define ge_RETURNED_PART_ONLY 0x08
#define ge_SOURCE_FILE_NOT_FOUND 0x09
#define ge_CANNOT_COPY_FILE 0x0A
#define ge_CANNOT_DELETE_FILE 0x0B
#define ge_CANNOT_CREATE_REGKEY 0x0C
#define ge_CANNOT_OPEN_REGKEY 0x0D
#define ge_CANNOT_SET_REGKEY 0x0E
#define ge_CANNOT_QUERY_REGKEY 0x0F
#define ge_CANNOT_REMOVE_REGKEY 0x10
#define ge_CANNOT_OPEN_DEVICE 0x11
#define ge_CANNOT_CREATE_SERVICE 0x12
#define ge_CANNOT_OPEN_SERVICE 0x13
#define ge_CANNOT_DELETE_SERVICE 0x14
#define ge_CANNOT_START_SERVICE 0x15
#define ge_CANNOT_STOP_SERVICE 0x16
#define ge_CANNOT_ADD_CONFIG 0x17
#define ge_INCORRECT_WINDOWS_VERSION 0x18
#define ge_ACCESS_DENIED 0x19
#define ge_VALUE_OUT_OF_RANGE 0x1A
#define ge_USER_BREAK 0x1B
#define ge_PORTS_NOT_USED 0x1C
#define ge_DRIVER_BUSY 0x1D
#define ge_REBOOT_NEEDED 0x8000
// Methods for NT
#define gd_METHOD_ALLOC 0x01
#define gd_METHOD_IRQL 0x02
#define gd_METHOD_AUTO 0x80
#define gd_METHOD_AUTO_NT ( gd_METHOD_ALLOC + gd_METHOD_IRQL )
#define gd_IRQL_AUTO 0x03
// Methods for 95
#define gd_METHOD_STEAL 0x01
#define gd_METHOD_ACQUIRE 0x02
#define gd_METHOD_CS 0x04
#define gd_METHOD_MASK 0x08
#define gd_METHOD_CLI 0x10
#define gd_METHOD_AUTO 0x80
#define gd_METHOD_AUTO_95 ( gd_METHOD_STEAL + gd_METHOD_CS )
#define gd_PORT_LPT1 0x00
#define gd_PORT_LPT2 0x01
#define gd_PORT_LPT3 0x02
#define gd_USE_PORT_LPT1 0x01
#define gd_USE_PORT_LPT2 0x02
#define gd_USE_PORT_LPT3 0x04
// Driver configuration
#define gd_DEF_FLAGS_NT 0x8000 // Default set of flags for windows NT
#define gd_DEF_FLAGS_95 0x8000 // Default set of flags for windows 95/98
// Timers
#define gd_TIME_SYSTEM 0x0001
#define gd_TIME_TRADITIONAL 0x0002
#define gd_TIME_SECONDARY 0x0004
// Delay methods
#define gd_LOOP_PENTIUM 0x0100
#define gd_LOOP_BSF 0x0200
#define gd_LOOP_TRADITIONAL 0x0400
#define gd_LOOP_SECONDARY 0x0800
// Automatic Timer/Delay selection
#define gd_TIMELOOP_AUTO 0x8000
// Guardant InstDrv Config - Options for Insall API (use GD_SetInstdrvConfig())
#define gic_SHOWMESSAGES 0x01
#define gic_FULLINFO 0x02
#define gic_PRINTLOG 0x04
#endif // __INSTDRVS__H__
Соседние файлы в папке INST.DLL