README (Интегрированная среда моделирования РДО), страница 2
Описание файла
Файл "README" внутри архива находится в следующих папках: Интегрированная среда моделирования РДО, DRIVERS, INST.DLL. Текстовый-файл из архива "Интегрированная среда моделирования РДО", который расположен в категории "". Всё это находится в предмете "теория игр и исследование операций" из 8 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "теория игр и исследование операций" в общих файлах.
Просмотр 2 страницы текстового-файла онлайн
!!! Используйте GD_SetInstdrvConfig()
Устанавливает режим вывода сообщений для всех функций
bShowMessages
true Выводить сообщения об основных ошибках
и результатах операций
false На экран вообще ничего не выводится
bShowFullDescriptions
true Выводить сообщения обо всех ошибках
и о результате всех операций.
Данный режим полезен при отладке
______________________________
void WINAPI GD_SetInstdrvConfig ( DWORD dwFlags );
Input - Флаги
Output -
Устанавливает конфицурацию инсталятора через комбинацию флагов dwFlags
см. константы gic_######### в файле INSTDRVS.H
______________________________
void WINAPI GD_PrintLog ( char * szMessage );
Input - Строка сообщения
Output -
При установленом режиме gic_PRINTLOG функции GD_SetInstdrvConfig()
помещает в LOG-файл сообщение.
Файл _INSTRDV.LOG создается в там-же, где находится INSTDRV.DLL.
Если файл по каким-то причинам не может быть там создан ( диск защищен от
записи ), то он создается в каталоге %SYTEMROOT%\SYSTEM для Windows 95/98
и в %SYSTEMROOT%\SYSTEM32\DRIVERS для Windows NT/2000
___________________________
void WINAPI GD_GetVersions ( BOOL* bWinNT, BOOL* bRus, int* CurDrvVer );
Input - Буфер для признака Windows NT/2000
Буфер для признака русского языка
Буфер для версии драйвера
Output -
При загрузке в память DLL определяет версию Windows (NT/2000 или 95/98)
текущую кодовую страницу(язык системы) и версию драйвера,
который поставляется вместе с DLL (а не того, который установлен в системе!)
Все эти данные можно получить с помощь данной процедуры
Если любой из параметров равен NULL, то он игнорируется
________________________________________
char* WINAPI GD_GetLastErrorDescription ( char* szErr, DWORD dwLen );
Input - Буфер для строки
Размер буфера
Output - Указатель на буфер
Если результат последней операции не равен ge_NO_ERROR, то данная
процедура возвращает описание ошибки.
Данное описание выводится на экран в виде сообщения при установленом
режиме gic_FULLINFO функции GD_SetInstdrvConfig()
В буфер копируется либо вся строка,
либо dwLen байт, если строка длинее буфера
После удачного завершения последней операции (код ощибки ge_NO_ERROR )
значение возвращаемой строки не определено.
________________________________________ ______________________________________
"""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""
//////////////////////////////////////// //////////
СТРУКТУРА GD_DRIVER_INFO
Описание находится в файле INSTDRVS.H
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\
WORD di_wSize
Размер структуры в байтах
WORD di_wSign
Сигнатура. Равна 0x4447 ('GD')
DWORD di_dwUpdateFlags
Флаги для будущих расширений. Равны 0
WORD di_wVersion
Версия драйвера. Major = HiByte, Minor = LoByte (0x0301 ==> 3.1)
BYTE di_bPort
Маска портов, в которых ищутся электронные ключи
WORD di_awBase[3]
Базовые адреса портов. Base[0] для LPT1, Base[1] для LPT2 и т.д
DWORD di_adwMethod[3]
Методы захвата для каждого порта
BYTE di_abIrql[3]
Значения IRQL для каждого порта
(используются только в Windows NT/2000)
DWORD di_dwTimeout
Значение таймаута для захвата порта
BYTE di_lpBuildTime[16]
Строка, содержащая дату и время компиляции драйвера
DWORD di_adwHKey[3]
Ключи реестра. Для каждого порта содержит ключ к разделу системного
реестра, в котором находится информация о порте. В примере используется
для считывания строчки-описания порта (freindly name)
DWORD di_dwTimeLoop
Методы таймеров и задержек, которые поддерживает драйвер
DWORD di_dwConfigFlags
Конфигурация драйвера. (флаги свойств драйвера)
Возможные флаги:
таймер и метод задержек, которые драйвер использует
STRUCT di_Flags
Флаги (каждая переменная принимает значения 0 или 1):
fConfigurable Признак того, что драйвер можно конфигурировать в данный момент
Поддерживаемые методы захвата портов:
mSteal Захват LPT ( Windows 95/98 )
mAquire Захват IO диапазона ( Windows 95/98 )
mCrSect Критическая секция ( Windows 95/98 )
mMask Маскирование прерываний ( Windows 95/98 )
mCli Запрет прерываний Cli ( Windows 95/98 )
mAlloc Захват LPT ( Windows NT/2000 )
mIrql Изменение IRQL ( Windows NT/2000 )
Поддерживаемые возможности:
cTimers Конфигурирование способа определения времени (таймер)
и метода формирования задержек
________________________________________ ___________________________________
"""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""
//////////////////////////////////////// //////////
Коды возврата функций
Описание находится в файле INSTDRVS.H
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\
ge_NO_ERROR
Операция успешно завершена
ge_DRIVER_NOT_FOUND
Драйвер не найден
ge_DRIVER_ALREADY_INSTALLED
Драйвер уже установлен
ge_DRIVER_NOT_INSTALLED
Драйвер не установлен
ge_DRIVER_OLD_VERSION
В системе установлена более старая версия драйвера
ge_DRIVER_NEWER_VERSION
В системе установлена более свежая версия драйвера
ge_DRIVER_NOT_REMOVED
Ошибка при удалении: драйвер все еще активен
ge_DRIVER_CONFIG_NOT_SUPPORTED
Драйвер не может быть сконфигурирован.
Ошибка возвращается функциями конфигурирования GD_Config######
Эта ошибка возникает в случаях, если:
- в системе установлен драйвер более старой версии
- установленый драйвер не поддерживает конфигурирование
ge_REBOOT_NEEDED
Для завершения операции необходима перезагрузка системы.
ge_DIOCTL_FAIL
Ошибка обмена с драйвером.
ge_RETURNED_PART_ONLY
Буфер для структуры GD_DRIVER_INFO не достаточного размера.
Скопирована только поместившаяся часть.
ge_SOURCE_FILE_NOT_FOUND
Не найден файл драйвера, предназначеного для установки.
Данный файл должен находится в текущей директории.
В такой ситуации невозможна установка и сравнение версий.
ge_CANNOT_COPY_FILE
Ошибка при копировании файла
ge_CANNOT_DELETE_FILE
Ошибка при удалении файла
ge_CANNOT_CREATE_REGKEY
Невозможно создать ключ реестра
ge_CANNOT_OPEN_REGKEY
Невозможно открыть ключ реестра
ge_CANNOT_SET_REGKEY
Невозможно установить значение в ключе реестра
ge_CANNOT_QUERY_REGKEY
Невозможно считать значение в ключе реестра
ge_CANNOT_REMOVE_REGKEY
Невозможно удалить ключ реестра
ge_CANNOT_OPEN_DEVICE
Невозможно открыть устройство
ge_CANNOT_CREATE_SERVICE
Невозможно создать службу (Windows NT)
ge_CANNOT_OPEN_SERVICE