Структура используемая в функции GrdApi.GrdFind для получения информации об электронном ключе
Пространство имен: Guardant
Синтаксис
#pragma pack(push,1) 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; // Индекс, используемый утилитами удаленного программирования BYTE abyReservedISEE[0x1C]; // Зарезервированная память для будущего использования WORD wWriteProtectS3; // SAM-адрес 1-го байта, доступного для записи. Если 0, запреты на запись отсутствуют. WORD wReadProtectS3; // SAM-адрес 1-го байта, доступного для чтения. Если 0, запреты на чтение отсутствуют. WORD wGlobalFlags; // Глобальные флаги DWORD dwDongleState; // Состояние ключа.см.GrdDSF_XXX определение // В наличии с: // 1. Stealth Sign.(Номер прошивки >= 0x01000011h or 01.00.00.11)// 2. Guardant Code. DWORD dwOldMPNum; // Старый номер прошивки (перед SFU). BYTE abyReservedH[0x100 - 0x1A - 0x1C - 0x0E]; // Зарезервированная память для будущего использования DWORD dwGrDrv_Platform; // Разрядность драйвера.Платформа (Win32/Win64). DWORD dwGrDrv_Vers; // Версия драйвера(0х05401234=5.40.12.34) DWORD dwGrDrv_Build; // Сборка драйвера DWORD dwGrDrv_Reserved; // Зарезервированое значение DWORD dwRkmUserAddr; // Адрес начала пользовательской памяти в 2-х байтовых словах DWORD dwRkmAlgoAddrW; // Адрес таблицы размещения защищенных ячеек в словах DWORD dwPrnPort; // Адрес LPT-порта (или 0, если ключ - USB) DWORD dwClientVersion; // Зарезервированная версия клиента ключа // SAP start DWORD dwRFlags; // Зарезервировано. Тип MCU DWORD dwRProgVer; // Зарезервированная версия программы(в MCU) DWORD dwRcn_rc; // Зарезервированный текущий номер и код ответа DWORD dwNcmps; // Зарезервированный номер условий сравнения DWORD dwNSKClientVersion; // Зарезервированная версия клиента (low byte - minor, hi - major) DWORD dwModel; // Модель ключа DWORD dwMcuType; // Тип ключа MCU DWORD dwMemoryType; // Тип памяти ключа // Зарезервировано для будущего использования BYTE abyReserved[0x200 - 0x100 - 0x28]; // Зарезервированная память для будущего использования. } TGrdFindInfo; #pragma pack(pop)
#pragma pack(push,1) 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; // Индекс, используемый утилитами удаленного программирования BYTE abyReservedISEE[0x1C]; // Зарезервированная память для будущего использования WORD wWriteProtectS3; // SAM-адрес 1-го байта, доступного для записи. Если 0, запреты на запись отсутствуют. WORD wReadProtectS3; // SAM-адрес 1-го байта, доступного для чтения. Если 0, запреты на чтение отсутствуют. WORD wGlobalFlags; // Глобальные флаги DWORD dwDongleState; // Состояние ключа.см.GrdDSF_XXX определение // В наличии с: // 1. Stealth Sign.(Номер прошивки >= 0x01000011h or 01.00.00.11)// 2. Guardant Code. DWORD dwOldMPNum; // Старый номер прошивки (перед SFU). BYTE abyReservedH[0x100 - 0x1A - 0x1C - 0x0E]; // Зарезервированная память для будущего использования DWORD dwGrDrv_Platform; // Разрядность драйвера.Платформа (Win32/Win64). DWORD dwGrDrv_Vers; // Версия драйвера(0х05401234=5.40.12.34) DWORD dwGrDrv_Build; // Сборка драйвера DWORD dwGrDrv_Reserved; // Зарезервированое значение DWORD dwRkmUserAddr; // Адрес начала пользовательской памяти в 2-х байтовых словах DWORD dwRkmAlgoAddrW; // Адрес таблицы размещения защищенных ячеек в словах DWORD dwPrnPort; // Адрес LPT-порта (или 0, если ключ - USB) DWORD dwClientVersion; // Зарезервированная версия клиента ключа // SAP start DWORD dwRFlags; // Зарезервировано. Тип MCU DWORD dwRProgVer; // Зарезервированная версия программы(в MCU) DWORD dwRcn_rc; // Зарезервированный текущий номер и код ответа DWORD dwNcmps; // Зарезервированный номер условий сравнения DWORD dwNSKClientVersion; // Зарезервированная версия клиента (low byte - minor, hi - major) DWORD dwModel; // Модель ключа DWORD dwMcuType; // Тип ключа MCU DWORD dwMemoryType; // Тип памяти ключа // Зарезервировано для будущего использования BYTE abyReserved[0x200 - 0x100 - 0x28]; // Зарезервированная память для будущего использования. } TGrdFindInfo; #pragma pack(pop)