режим поиска. Устанавливается константами GrdF_XXX. Значение GrdF_First нужно использовать при первом вызове GrdFind после того, как были установлены критерии поиска функцией GrdSetFindMode. При всех последующих вызовах до изменения критериев поиска нужно использовать значение GrdF_Next.
GrdF_First
Первый вызов
GrdF_Next
Следующий вызов
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;