...
Основные операции Guardant API
...
:
Основные функции(методы) Guardant API Функции общего назначения позволяют осуществлять сервисные операции, связанные с инициализацией , настройкой и деинициализацией Guardant API, а также выполнять основные операции с электронными ключами:
- Искать электронный ключ, удовлетворяющий заданным условиям поиска
- Инициализировать память ключа
- Читать данные из памяти ключа
- Записывать данные в память ключа
- Устанавливать запреты на чтение/запись памяти ключа
- Преобразовывать информацию при помощи аппаратных алгоритмов ключа
Перечень функций Guardant API общего назначения:
защищенным контейнером:
- Создавать и закрывать хэндл защищенного контейнера
- Инициализировать и деиницилизировать память ключа
- Получать информацию из защищенного контейнера, в том числе и о последней ошибке
- Преобразовывать получаемую информациию в текстовые соощения
Перечень основных операций Guardant API:
Название функции(метода) |
---|
Код доступа | Краткое описание |
---|
GrdStartup
Не нужен
Не нужен | Инициализировать GrdAPI + задать путь к GnClient.ini | |
Не нужен | Деинициализировать Guardant API | |
Не нужен | Получить информацию о последней |
ошибке из защищенного контейнера | ||
Не нужен | Преобразовать код ошибки в текстовое сообщение | |
Не нужен | Получить информацию из защищенного контейнера | |
Не нужен | Проверить валидность хэндла защищенногоконтейнера | |
Не нужен | Создать хэндл защищенного контейнера | |
Не нужен | Закрыть хэндл защищенного контейнера |
Поиск и проверка наличия ключа:
Функции(методы) данного раздела позволяют найти электронный ключ, который удовлетворяет критериям поиска. Если такой ключ имеется то на нем можно зарегистрироваться.
Название функции(метода) | Код доступа | Краткое описание |
---|---|---|
Public и Read обязательно, остальные по необходимости | Поместить коды доступа в защищенный контейнер |
GrdSetWorkMode
Не нужен
Не нужен | Установить режимы поиска электронных ключей | |
Private Read | Найти электронный ключ, удовлетворяющий критериям поиска | |
Private Read | Зарегистрироваться на электронном ключе | |
Private Read | Снять регистрацию с электронного ключа |
Private Read |
Заблокировать ключ на время выполнения операций, требующих монопольного режима работы с ключом
GrdUnlock
Private Read
Разблокировать электронный ключ
GrdCheck
Private Read
Проверить наличие электронного ключа
GrdDecGP
Private Read+ PrivateWrite
Проверить наличие электронного ключа |
Работа с памятью ключа:
Функции(методы) работы с памятью ключа позволяют осуществлять сервисные операции, связанные с инициализацией и защитой памяти электронного ключаI, а также выполнять операции связанные с чтением информации из памяти электронного ключа и записью необходимых данных в его память.
Название функции(метода) | Код доступа | Краткое описание |
---|---|---|
Не нужен | Установить режимы работы Guardant API |
Private Read | Прочитать данные из памяти электронного ключа | |
Private Write | Записать данные в память электронного ключа |
GrdSign
Private Read
Вычислить ЭЦП массива данных
GrdVerifySign
Не нужен
Проверить ЭЦП массива данных
Не нужен | Переместить указатель на текущий адрес |
памяти электронного ключа | ||
Private master | Инициализировать память электронного ключа | |
Private master | Установить аппаратные запреты чтения/записи и записать количество аппаратных алгоритмов и защищенных ячеек |
GrdTransform
Private Read
Работа с аппаратными и программно-реализованными алгоритмами:
Функции(методы) работы этого раздела позволяют преобразовывать, кодировать и декодировать данные с помощью аппаратно- или программно-реализованных алгоритмов.
Они позволяют вычислить и проверить ЭЦП массива данных.
Название функции(метода) | Код доступа | Краткое описание |
---|
Private Read | Преобразовать данные аппаратно- или программно-реализованным алгоритмом |
GrdCrypt
Закодировать/раскодировать данные аппаратноили программно-реализованным алгоритмом
Private Read | Закодировать/раскодировать данные аппаратноили программно-реализованным алгоритмом |
GrdHash
Вычислить значение хэш-функции программноили аппаратно-реализованным алгоритмом
Private Read | Расширенный вариант GrdHash |
GrdEnCode
не нужен
Закодировать данные быстрым взаимообратнымпреобразованием
GrdDeCode
не нужен
Раскодировать данные быстрым взаимообратнымпреобразованием
PrivateRead
Инициализировать пароль быстрого взаимообратного преобразования
Private Read | Вычислить ЭЦП массива данных | |
Не нужен | Проверить ЭЦП массива данных |
не нужен | Вычислить CRC |
...
Работа с защищенными ячейками:
Для работы с защищенными ячейками существуют специальные функции(методы)
...
Функции общего назначения позволяют осуществлять сервисные операции, связанные с инициализацией, настройкой и деинициализацией Guardant API, а также выполнять основные операции с электронными ключами:
- Искать электронный ключ, удовлетворяющий заданным условиям поиска
- Инициализировать память ключа
- Читать данные из памяти ключа
- Записывать данные в память ключа
- Устанавливать запреты на чтение/запись памяти ключа
- Преобразовывать информацию при помощи аппаратных алгоритмов ключа
Перечень функций Guardant API общего назначения:
Guardant API:
Название функции(метода) | Код доступа | Краткое описание |
---|---|---|
Private Read и пароль на данную операцию, если он задан в ключе | Активировать алгоритм / защищенную ячейку | |
Private Read и пароль на данную операцию, если он задан в ключе | Деактивировать аппаратный алгоритмили защищенную ячейку | |
Private Read и пароль на данную операцию, если он задан в ключе | Прочитать данные из защищенной ячейки | |
Private Read и пароль, на данную операцию, если он задан в ключе | Обновить данные в защищенной ячейке | |
Private Read | Получить значение счетчика запусков алгоритма |
Использование технологии загружаемого кода (ключи Guardant Code):
Технология Загружаемый Код может быть реализована не только при помощи утилит, входящих в Комплект разработчика. При желании разработчики могут встраивать поддержку этой технологии непосредственно в свои приложения, используя набор предназначенных для этой цели функций:
Название функции(метода) |
---|
Код доступа | Краткое описание |
---|
Не нужен
Инициализировать GrdAPI + задать путь к GnClient.ini
GrdCleanup
Не нужен
Деинициализировать Guardant API
GrdGetLastError
Не нужен
Получить информацию о последней ошибкеиз защищенного контейнера
GrdFormatMessage
Не нужен
Преобразовать код ошибки в текстовое сообщение
GrdGetInfo
Не нужен
Получить информацию из защищенного контейнера
GrdIsValidHandle
Не нужен
Проверить валидность хэндла защищенногоконтейнера
GrdCreateHandle
Не нужен
Создать хэндл защищенного контейнера
GrdCloseHandle
Не нужен
Закрыть хэндл защищенного контейнера
Функции Guardant API для работы с защищенными ячейками
...
Private Read | Загружает код приложения в формате GCEXE во flash- память ключа | |
Private Read | Исполняет код, предварительно загруженный в ключ | |
Private Read | Возвращает информацию из дескриптора загруженного кода | |
Private Read | Задает режим работы ключей Guardant Code/Code Time через драйвер Guardant или в HID режиме |
Функции внутренннего Guardant Code API
Технология Guardant Code API позволяет использовать сервисы микропрограммы ключа серии Code, вызывая их загружаемого кода (по аналогии, как операционная система предоставляет свои сервисы пользовательской программе посредством API). При желании разработчики могут встраивать поддержку этой технологии непосредственно в свои приложения, используя набор предназначенных для этой цели функций:
Название функции | Код доступа | Краткое описание |
---|
GrdPI_Activate
Private Readи пароль на данную операцию, если он задан в ключе
Активировать алгоритм / защищенную ячейку
GrdPI_Deactivate
Деактивировать аппаратный алгоритмили защищенную ячейку
GrdPI_Read
Прочитать данные из защищенной ячейки
GrdPI_Update
Обновить данные в защищенной ячейке
GrdPI_GetCounter
- | Считать данные из памяти ключа | |
- | Записать данные в память ключа | |
- | Считать данные защищенной ячейки | |
- | Изменить данные защищенной ячейки или определителя алгоритма | |
- | Получить время таймера ключа | |
- | Получить оставшееся время работы алгоритма | |
- |
Получить значение счетчика запусков алгоритма |
Функции Guardant API для работы с ключами с RTC
- | Получить код последней ошибки | |
- | Выполнить тест часов реального времени - RTC | |
- | Включить светодиод | |
- | Выключить светодиод | |
- | Завершить выполнение загруженного кода | |
- | Зашифровать/расшифровать блок данных | |
- | Вычислить ЭЦП массива данных | |
- | Проверить ЭЦП массива данных | |
- | Выполнить загружаемый код из другого участка загружаемого кода | |
- | Создать пару ключей | |
- | Вычислить хэш-функцию блока данных | |
- | Сгенерировать случайное число | |
- | Установить максимально разрешенное время работы загружаемого кода | |
- | Запросить информацию из дескриптора загружаемого кода |
Лицензирование приложений по времени работы (для ключей Time):
Ключи Guardant Time/Time Net/Code Time обладают встроенными часами реального времени (Real-Time Clock, RTC), что позволяет ограничивать астрономическое время работы приложения путем установки временных зависимостей от аппаратных алгоритмов ключа. Для работы с возможностями, которые присущи только ключам с RTCДля работы с ключами, поддерживающими технологию Time, существуют специальные функции Guardant API:
Название функции(метода) | Код доступа | Краткое описание |
---|---|---|
Private Master | Установить время микросхемы таймера ключа | |
Private Read | Получить время таймера ключа | |
Private Read | Получить оставшееся время работы алгоритма | |
Не нужен | Заполнить поля структуры TgrdSystemTime | |
Не нужен | Получить значение полей структуры TgrdSystemTime |
GrdTRU_ GenerateQuestionTime
Private Read
Сгенерировать зашифрованное число-вопрос
GrdTRU_GenerateQuestionTimeEx
Private Read
Расширенная версия GrdTRU_GenerateQuestionTime
GrdTRU_ DecryptQuestionTime
Private Read
Расшифровать и проверить подлинностьчисла-вопроса
GrdTRU_DecryptQuestionTimeEx
Private Read
Расширенная версия GrdTRU_ DecryptQuestionTime
...
Удаленное обновление ключей (технология Trusted Remote Update):
Технология удаленного обновления Trusted Remote Update может быть реализована не только при помощи утилит, входящих в Комплект разработчика. При желании разработчики могут встраивать поддержку этой технологии непосредственно в свои приложения, используя набор предназначенных для этой цели функций:
Название функции(метода) | Код доступа | Краткое описание |
---|---|---|
Private Master | Инициализировать память электронного ключа и записать секретный ключ TRU | |
Private Read | Сгенерировать число-вопрос | |
Private Read | Расширенная версия GrdTRU_GenerateQuestion | |
Private Read | Декодировать и проверить подлинность числа-вопроса | |
Private Read | Расширенная |
версия GrdTRU_DecryptQuestion | ||
Не нужен | Установить параметры числа-ответа | |
Private Read | Сгенерировать и кодировать число-ответ | |
Private Read | Расширенная версия GrdTRU_EncryptAnswer | |
Private Read | Записать число-ответ в ключ Guardant |
...
Удаленное обновление ключей Time:
Функции
...
, реализующие технологию Trusted Remote Update для ключей с часами реального времени (Guardant Time, Guardant Time Net, Guardant Code Time) имеют некоторые отличия от своих аналогов для обычных ключей,
и поэтому выделяются в особую подгруппу:
Название функции(метода) | Код доступа | Краткое описание |
---|---|---|
Private Read | Сгенерировать зашифрованное число-вопрос | |
Private Read | Расширенная версия GrdTRU_GenerateQuestionTime | |
Private Read | Расшифровать и проверить подлинностьчисла-вопроса | |
Private Read | Расширенная версия GrdTRU_DecryptQuestionTime |
Монопольная работа с ключом:
Функции(методы) для монопольной работы с ключом позволяют заблокировать электронный ключ на время выполнения операций, который требуют вышеупомянутого режима работы с ним, а также разблокировать ключ после совершения операций связанных с этим режимом.
Название функции(метода) | Код доступа | Краткое описание |
---|---|---|
Private Read | Заблокировать ключ на время выполнения операций, требующих монопольного режима работы с ключом | |
Private Read | Разблокировать электронный ключ |
См. Сервисные функции для работы с загружаемым кодом.
Внутреннее Guardant API Code для загружаемого кода
...
Функции Guardant API для управления драйверами
Для того чтобы инсталлировать, деинсталлировать и настраивать драйверы Guardant из собственных приложений можно использовать функции управления драйверами, которые реализованы в виде динамически загружаемой библиотеки.
Название функции | Краткое описание |
---|---|
Инсталлировать драйверы Guardant | |
Деинсталлировать драйверы Guardant | |
Проверить наличие драйверов Guardant в системе | |
Получить десятичное значение версии установленного драйвера Guardant | |
Устаревш. Получить версию драйверов Guardant, установленных в системе | |
Установить режимы использования порта | |
Получить текущие |
установленные режимы использования порта | |
Установить значение таймаута для LPT порта | |
Получить текущее установленное значение |
таймаута для LPT порта | |
Установить параметры работы с LPT портом | |
Получить текущие установленные параметры |
работы с LPT портом | |
Установить параметры работы с LPT портом по умолчанию | |
Получить системную информацию о |
конфигурации LPT и USB-портов |
Устаревшие функции (методы):
Функции GrdCodeInit, GrdEncode и GrdDecode были предназначены для работы с устаревшими ключами Guardant Stealth. Сейчас эти функции поддерживаются исключительно ради совместимости и строго не рекомендуются к использованию.
Функции GrdTransform, GrdHash и GrdCrypt не рекомендуются к использованию, вместо них предлагаются расширенные функции GrdTransformEx, GrdCryptEx, GrdHashEx предназначенные для работы со всем современным ассортиментом ключей Guardant.
Название функции(метода) | Код доступа | Краткое описание |
---|---|---|
Private Read+ PrivateWrite | Декрементировать счетчик GP | |
Private Read | Преобразовать данные аппаратно- или программно-реализованным алгоритмом | |
Private Read | Закодировать/раскодировать данные аппаратно или программно-реализованным алгоритмом | |
Private Read | Вычислить значение хэш-функции программно или аппаратно-реализованным алгоритмом | |
PrivateRead | Инициализировать пароль быстрого взаимообратного преобразования | |
не нужен | Закодировать данные быстрым взаимообратным преобразованием | |
не нужен | Раскодировать данные быстрым взаимообратным преобразованием |
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
...
Anchor | ||
---|---|---|
|
...
Категории файлов | Каталог с API |
Заголовочные файлы | Guardant\Guardant %#%%PublicCode%\Include |
Библиотеки и объектные модули | Guardant\Guardant %#%%PublicCode%\Lib |
Примеры работы с Guardant API | Guardant\Guardant %#%%PublicCode%\Samples| |
...
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
...
Функции Guardant API, предназначенные для работы с электронными ключами, могут возвращать следующие коды ошибок:
...
Название ошибки
...
Код
...
Краткое описание
...
GrdE_Ok
...
0
...
Операция выполнена успешно
...
GrdE_DongleNotFound
...
1
...
Не найден ключ, отвечающий заданным условиям поиска
...
GrdE_AddressTooBig
...
3
...
Указанный адрес слишком велик
...
GrdE_Gpis0
...
5
...
Счетчик запусков GP исчерпан (значение равно нулю)
...
GrdE_InvalidCommand
...
6
...
Неверная команда обращения к ключу
...
GrdE_VerifyError
...
8
...
Ошибка верификации записи в память ключа
...
GrdE_NetProtocolNotFound
...
9
...
Сетевой протокол не найден
...
GrdE_NetResourceExhaust
...
10
...
Сетевой ресурс ключа Guardant Net исчерпан
...
GrdE_NetConnectionLost
...
11
...
Потеряно соединение с сервером Guardant Net
...
GrdE_NetDongleNotFound
...
12
...
Сервер Guardant Net не найден
...
GrdE_NetServerMemory
...
13
...
Ошибка распределения памяти сервера Guardant Net
...
GrdE_DPMI
...
14
...
Ошибка DPMI
...
GrdE_Internal
...
15
...
Внутренняя ошибка сервера Guardant Net
...
GrdE_NetServerReloaded
...
16
...
Сервер Guardant Net был перезагружен
...
GrdE_VersionTooOld
...
17
...
Данная команда не поддерживается данной версией ключа (ключ старой версии)
...
GrdE_BadDriver
...
18
...
Необходим драйвер Windows NT
...
GrdE_NetProtocol
...
19
...
Ошибка сетевого протокола
...
GrdE_NetPacket
...
20
...
Получен сетевой пакет недопустимого формата
...
GrdE_NeedLogin
...
21
...
Требуется регистрация на сервере Guardant Net
...
GrdE_NeedLogout
...
22
...
Необходимо снять регистрацию на сервере Guardant
...
GrdE_DongleLocked
...
23
...
Ключ Guardant Net занят другим приложением
...
GrdE_DriverBusy
...
24
...
Драйвер не может захватить порт
...
GrdE_CRCError
...
30
...
Ошибка CRC при обращении к ключу
...
GrdE_CRCErrorRead
...
31
...
Ошибка CRC при чтении данных из ключа
...
GrdE_CRCErrorWrite
...
32
...
Ошибка CRC при записи данных в ключ
...
GrdE_Overbound
...
33
...
Выход за границу памяти ключа
...
GrdE_AlgoNotFound
...
34
...
Аппаратный алгоритм с таким номеромв ключе не найден
...
GrdE_CRCErrorFunc
...
35
...
Ошибка CRC аппаратного алгоритма
...
GrdE_AllDonglesFound
...
36
...
Все ключи перебраны
...
GrdE_ProtocolNotSup
...
37
...
Слишком старая версия Guardant API
...
GrdE_InvalidCnvType
...
38
...
Задан несуществующий метод взаимообратногопреобразования
...
GrdE_UnknownError
...
39
...
Неизвестная ошибка при работе с алгоритмом/ячейкой, операция могла не завершиться
...
GrdE_AccessDenied
...
40
...
Неверный пароль доступа к защищенной ячейке
...
GrdE_StatusUnchangeable
...
41
...
Статус защищенной ячейки изменить нельзя
...
GrdE_NoService
...
42
...
Для алгоритма/ячейки сервис не предусмотрен
...
GrdE_InactiveItem
...
43
...
Алгоритм/ячейка находятся в состоянии Inactive, команда не выполнена
...
GrdE_DongleServerTooOld
...
44
...
Попытка выполнить операцию, которую не поддерживает эта версия сервера Guardant Net
...
GrdE_DongleBusy
...
45
...
В данный момент ключ не может выполнять никаких операций
...
GrdE_InvalidArg
...
46
...
Задано недопустимое значение одного из аргументов функции
...
GrdE_MemoryAllocation
...
47
...
Ошибка распределения памяти
...
GrdE_InvalidHandle
...
48
...
Недопустимый хендл
...
GrdE_ContainerInUse
...
49
...
Этот защищенный контейнер уже используется
...
GrdE_Reserved50
...
50
...
Зарезервировано
...
GrdE_Reserved51
...
51
...
Зарезервировано
...
GrdE_Reserved52
...
52
...
Зарезервировано
...
GrdE_SystemDataCorrupted
...
53
...
Нарушена целостность системных данных
...
GrdE_NoQuestion
...
54
...
Вопрос для удаленного обновленияне был сгенерирован
...
GrdE_InvalidData
...
55
...
Недопустимый формат данныхдля удаленного обновления
...
GrdE_QuestionOK
...
56
...
Вопрос для удаленного обновления уже сгенерирован
...
GrdE_UpdateNotComplete
...
57
...
Процедура записи при удаленном обновлениине завершена
...
GrdE_InvalidHash
...
58
...
Неверное знач. хэша данных удаленного обновления
...
GrdE_GenInternal
...
59
...
Внутренняя ошибка
...
GrdE_AlreadyInitialized
...
60
...
Эта копия Guardant API уже инициализирована
...
GrdE_LastError
...
61
...
Неизвестная ошибка
...
GrdE_DuplicateNames
...
63
...
Числовое имя аппаратного алгоритма/ защищенной ячейки уже существует
...
GrdE_AATFormatError
...
64
...
Несуществующий адрес в AAT-таблице
...
GrdE_SessionKeyNtGen
...
65
...
Сессионный ключ не создан
...
GrdE_InvalidPublicKey
...
66
...
Недействительный открытый ключ
...
GrdE_InvalidDigitalSign
...
67
...
Недействительная ЭЦП
...
GrdE_SessionKeyGenError
...
68
...
Ошибка при создании сессионного ключа
...
GrdE_InvalidSessionKey
...
69
...
Недействительный сессионный ключ
...
GrdE_SessionKeyTooOld
...
70
...
Просроченный сессионный ключ
...
GrdE_NeedInitialization
...
71
...
Необходима инициализация
...
GrdE_gcProhibitCode
...
72
...
Ошибка при проверке загружаемого кода. Адрес точки входа некорректен или обнаружены запрещенные команды или обращение к недопустимым адресам
...
GrdE_gcLoadableCodeTimeOut
...
73
...
Тайм-аут при выполнении загружаемого кода
...
GrdE_gcFlashSizeFromDescriptorTooSmall
...
74
...
В дескрипторе загружаемого кода указан недостаточный размер Flash-памяти
...
GrdE_Reserved75
...
75
...
Зарезервировано
...
GrdE_Reserved76
...
76
...
Зарезервировано
...
GrdE_Reserved77
...
77
...
Зарезервировано
...
GrdE_Reserved78
...
78
...
Зарезервировано
...
GrdE_Reserved79
...
79
...
Зарезервировано
...
GrdE_gcIncorrectMask
...
80
...
В дескрипторе загружаемого кода указаннедостаточный размер памяти для структуры TGrdLoadableCodeData
...
GrdE_gcRamOverboundInProtect
...
81
...
В дескрипторе загружаемого кода указан неверный размер RAM
...
GrdE_gcFlashOverboundInProtect
...
82
...
В дескрипторе загружаемого кода указан неверный размер Flash-памяти
...
GrdE_gcIntersectionOfCodeAreasInProtect
...
83
...
Обнаружено пересечение областей Flash-памяти, заданных в нескольких дескрипторах
...
GrdE_gcBmapFileTooBig
...
84
...
Слишком большой размер BMAP-файла
...
GrdE_gcZeroLengthProgram
...
85
...
Загружаемый код имеет нулевую длину
...
GrdE_gcDataCorrupt
...
86
...
Ошибка при контроле целостности данных
...
GrdE_gcProtocolError
...
87
...
Ошибка в протоколе Guardant Code
...
GrdE_gcGCEXENotFound
...
88
...
Нет загруженной программы пользователя
...
GrdE_gcNotEnoughRAM
...
89
...
Объявленный в программе пользователяRAM-буфер ввода-вывода недостаточен для передачи\приема данных
...
GrdE_gcException
...
90
...
При выполнении загружаемого кода произошло нарушение защиты виртуальной среды
...
GrdE_gcRamOverboundInCodeLoad
...
91
...
Буфер ввода-вывода, заданный в загружаемом коде, выходит за допустимую область RAM
...
GrdE_gcFlashOverboundInCodeLoad
...
92
...
Загружаемый код выходит за пределы допустимой области Flash-памяти
...
GrdE_gcIntersectionOfCodeAreasInCodeLoad
...
93
...
Адресное пространство загружаемого кода пересекается с уже загруженным. Необходима инициализация памяти
...
GrdE_gcGCEXEFormatError
...
94
...
Неверный формат GCEXE файла
...
GrdE_gcRamAccessViolation
...
95
...
Заданы пересекающиеся области ОЗУдля запускающего и запускаемого кода
...
GrdE_gcCallDepthOverflow
...
96
...
Превышен уровень вложенности вызовов GcaCodeRun (<1)
...
GrdE_LastError
...
97
...
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|