Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleВыходные параметры

pdwID

указатель на переменную, в которую будет помещен ID найденного ключа. Память для переменной должна быть выделена до вызова функции

pFindInfo

указатель на структуру типа TGrdFindInfo, в поля которой должны возвращаться данные о найденном ключе. Память для структуры должна быть выделена до вызова функции. В случае, если структура не используется, или не использование структур не поддерживается языком программирования, параметр pFindInfo должен быть равен NULL.

 

typedef struct
{
DWORD dwPublicCode; // Общий код доступа в числовом виде
BYTE byHrwVersion; // Аппаратная версия ключа (биты 0 -3: minor, биты 4 - 7: major)
BYTE byMaxNetRes; // Максимальный ресурс лицензий сетевого ключа (программируется компанией "Актив" при продаже ключа)
WORD wType; // Флаги типа ключа
DWORD dwID; // ID ключа (программируется компанией "Актив" при продаже ключа)


// Группа полей, доступных в режиме адресации UAM
BYTE byNProg; // Номер программы
BYTE byVer; // Версия программы
WORD wSN; // Серийный номер
WORD wMask; // Битовая маска
WORD wGP; // Счетчик GP (устаревшая технология, не используется)
WORD wRealNetRes; // Текущий ресурс лицензий сетевого ключа. Задается разработчиком, должен быть <= byMaxNetRes
DWORD dwIndex; // Индекс, используемый утилитами удаленного программирования


// Только для современных ключей (Stealth III и старше)
BYTE abyReservedISEE[0x1C]; // Зарезервировано
WORD wWriteProtectS3; // SAM-адрес 1-го байта, доступного для записи. Если 0, запреты на запись отсутствуют.
WORD wReadProtectS3; // SAM-адрес 1-го байта, доступного для чтения. Если 0, запреты на чтение отсутствуют.
WORD wGlobalFlags; // Глобальные флаги
DWORD dwDongleState; // Dongle State. See GrdDSF_XXX definition
BYTE abyReservedH[0x100 - 0x1A - 0x1C - 0x0A]; // Reserved. For align to 0x100


// Информация о драйвере
DWORD dwGrDrv_Platform; // Разрядность драйвера (Win32/Win64)
DWORD dwGrDrv_Vers; // Версия драйвера (0x05401234=5.40.12.34)
DWORD dwGrDrv_Build; // Сборка драйвера
DWORD dwGrDrv_Reserved; // Зарезервировано


// Информация о ключе
DWORD dwRkmUserAddr; // Адрес начала пользовательской памяти в 2-хбайтовых словах
DWORD dwRkmAlgoAddrW; // Адрес таблицы размещения защищенных ячеек в словах
DWORD dwPrnPort; // Адрес LPT-порта (или 0, если ключ - USB)
DWORD dwClientVersion; // Reserved Dongle client version


// SAP start
DWORD dwRFlags; // Reserved Type of MCU
DWORD dwRProgVer; // Reserved Program version (in MCU)
DWORD dwRcn_rc; // Reserved curr_num & answer code
DWORD dwNcmps; // Reserved Number of compare conditions
DWORD dwNSKClientVersion; // Reserved Client version (low byte - minor, hi - major)
DWORD dwModel; // Модель ключа
DWORD dwMCUType; // Тип ключа
DWORD dwMemoryType; // Тип памяти ключа


// Зарезервировано
BYTE abyReserved[0x200 - 0x100 - 0x38]; // Reserved. For align to 0x200
} TGrdFindInfo; 

 

Возможные ошибки

Стандартный набор ошибок

 

GrdE_NeedLogout

Попытка вызова GrdFind после GrdLogin

...