Структура используемая в функции 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)
public unsafe struct FindInfo { public uint dwPublicCode;Общий код доступа в числовом виде public byte byHrwVersion;Аппаратная версия ключа (биты 0 -3: minor, биты 4 - 7: major) public byte byMaxNetRes;Максимальный ресурс лицензий сетевого ключа (программируется компанией "Актив" при продаже ключа) public ushort wType;Флаги типа ключа public uint dwID;ID ключа (программируется компанией "Актив" при продаже ключа)// Соответствующие поля доступны из UAM режима public byte byNProg;Номер программы public byte byVer;Версия программы public ushort wSN;Серийный номер public ushort wMask;Битовая маска public ushort wGP;Счетчик запусков GP (устаревшая технология, не используется) public ushort wRealNetRes;Текущий ресурс лицензий сетевого ключа. Задается разработчиком, должен быть <= byMaxNetRes public uint dwIndex;Индекс, используемый утилитами удаленного программирования public fixed byte abyReservedISEE[28];Зарезервированная память для будущего использования public ushort wWriteProtectS3;SAM-адрес 1-го байта, доступного для записи. Если 0, запреты на запись отсутствуют. public ushort wReadProtectS3;SAM-адрес 1-го байта, доступного для чтения. Если 0, запреты на чтение отсутствуют public ushort wGlobalFlags;Глобальные флаги public uint dwDongleState; Состояние ключа.см.GrdDSF_XXX определение // В наличии с: // 1. Stealth Sign.(Номер прошивки >= 0x01000011h or 01.00.00.11)// 2. Guardant Code. public uint dwOldMPNum;Старый номер прошивки (перед SFU). public fixed byte abyReservedH[188];Зарезервированная память для будущего использования public uint dwGrDrv_Platform;Разрядность драйвера.Платформа (Win32/Win64). public uint dwGrDrv_Vers;Версия драйвера(0х05401234=5.40.12.34) public uint dwGrDrv_Build;Сборка драйвера public uint dwGrDrv_Reserved; public uint dwRkmUserAddr;Адрес начала пользовательской памяти в 2-х байтовых словах public uint dwRkmAlgoAddrW;Адрес таблицы размещения защищенных ячеек в словах public uint dwPrnPort;Адрес LPT-порта (или 0, если ключ - USB) public uint dwClientVersion;Зарезервированная версия клиента ключа // SAP start public uint dwRFlags;Зарезервировано. Тип MCU public uint dwRProgVer;Зарезервированная версия программы(в MCU) public uint dwRcn_rc;Зарезервированный текущий номер и код ответ public uint dwNcmps;Зарезервированный номер условий сравнения public uint dwNSKClientVersion;Зарезервированная версия клиента (low byte - minor, hi - major) public uint dwModel;Модель ключа public uint dwMcuType;Тип ключа MCU public uint dwMemoryType;Тип памяти ключа // Зарезервировано для будущего использования public fixed byte abyReserved[216];Зарезервированная память для будущего использования. }
public class GrdFindInfo { /** Общий код доступа*/ public int mPublicCode; /** Версия прошивки ключа */ public byte mHrwVersion; /** Максимальный сетевой ресурс*/ public byte mMaxNetRes; /** Dongle type flags */ public short mType; /** Dongle's ID (unique) */ public int mID; // Following fields are available from UAM mode /** Номер продукта */ public byte mProg; /** Версия продукта */ public byte mVer; /** Серийный номер (Serial number) */ public short mSN; /** Маска (Bit mask) */ public short mMask; /** Счетчик запусков (Executions GP counter/ License time counter) */ public short mGP; /** Назначенный сетевой ресурс ключа */ public short mRealNetRes; /** Индекс */ public int mIndex; // Only Stealth III info /** Stealth III write protect address */ public short mWriteProtectS3; /** Stealth III read protect address */ public short mReadProtectS3; /** Global dongle flags for Sign\Time or higher dongles. See GrdGF_xxx definition. */ public short mGlobalFlags; /** Dongle State. See GrdDSF_XXX definition */ public int mDongleState; // Available since: // 1. Stealth Sign.(Firmware number >= 0x01000011h or 01.00.00.11) // 2. Guardant Code. /** */ public int mOldMPNum; // Old firmware number(before SFU). // Reserved info from gsA // Driver info /** Reserved Driver platform (Win32/Win64) */ public int mGrDrv_Platform; /** Reserved Driver version (0x04801234=4.80.12.34 */ public int mGrDrv_Vers; /** Reserved Driver build */ public int mGrDrv_Build; /** Reserved reserved */ public int mGrDrv_Reserved; // dongle info /** Reserved wkmUserAddr */ public int mRkmUserAddr; /** Reserved wkmAlgoAddr */ public int mRkmAlgoAddrW; /** Reserved Printer port address or 0 if it USB */ public int mPrnPort; /** Reserved Dongle client version */ public int mClientVersion; // SAP start /** Reserved Type of MCU */ public int mRFlags; /** Reserved Program version (in MCU) */ public int mRProgVer; /** Reserved curr_num & answer code */ public int mRcn_rc; /** Reserved Number of compare conditions */ public int mNcmps; /** Reserved Client version (low byte - minor, hi - major) */ public int mNSKClientVersion; /** Dongle Model */ public int mModel; /** Dongle MCU Type */ public int mMcuType; /** Dongle Memory Type */ public int mMemoryType; }