Структура используемая в функции 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 { /// <summary> /// Общий код доступа /// </summary> public uint dwPublicCode; /// <summary> /// Версия прошивки ключа /// </summary> public byte byHrwVersion; /// <summary> /// Максимальный сетевой ресурс /// </summary> public byte byMaxNetRes; /// <summary> /// Тип ключа /// </summary> public ushort wType; /// <summary> /// ID /// </summary> public uint dwID; // Following fields are available from UAM mode /// <summary> /// Номер продукта /// </summary> public byte byNProg; /// <summary> /// Версия продукта /// </summary> public byte byVer; /// <summary> /// Серийный номер /// </summary> public ushort wSN; /// <summary> /// Маска /// </summary> public ushort wMask; /// <summary> /// Счетчик запусков /// </summary> public ushort wGP; /// <summary> /// Назначенный сетевой ресурс ключа /// </summary> public ushort wRealNetRes; /// <summary> /// Индекс /// </summary> public uint dwIndex; // Информация только для Stealth III /// <summary> /// Reserved memory for future use /// </summary> public fixed byte abyReservedISEE[28]; /// <summary> /// Stealth III write protect address /// </summary> public ushort wWriteProtectS3; /// <summary> /// Stealth III read protect address /// </summary> public ushort wReadProtectS3; /// <summary> /// Global Stealth III flags. Reserved. /// </summary> public ushort wGlobalFlags; /// <summary> /// Dongle State. See GrdDSF_XXX definition /// </summary> public uint dwDongleState; // Available since: // 1. Stealth Sign.(Firmware number >= 0x01000011h or 01.00.00.11) // 2. Guardant Code. /// <summary> /// Old firmware number(before SFU). /// </summary> public uint dwOldMPNum; /// <summary> /// Reserved memory for future use // 0xc0 192 /// </summary> public fixed byte abyReservedH[188]; // Reserved info from gsA // Driver info /// <summary> /// Платформа (Win32/Win64) /// </summary> public uint dwGrDrv_Platform; /// <summary> /// Версия драйвера /// </summary> public uint dwGrDrv_Vers; /// <summary> /// Сборка драйвера /// </summary> public uint dwGrDrv_Build; /// <summary> /// Зарезервированое значение /// </summary> public uint dwGrDrv_Reserved; // dongle info /// <summary> /// Адрес пользователя /// </summary> public uint dwRkmUserAddr; /// <summary> /// Адрес алгоритма /// </summary> public uint dwRkmAlgoAddrW; /// <summary> /// Адрес порта (0, если USB) /// </summary> public uint dwPrnPort; /// <summary> /// Версия клиента /// </summary> public uint dwClientVersion; // SAP start /// <summary> /// Тип ключа /// </summary> public uint dwRFlags; /// <summary> /// Версия программы /// </summary> public uint dwRProgVer; /// <summary> /// /// </summary> public uint dwRcn_rc; /// <summary> /// /// </summary> public uint dwNcmps; /// <summary> /// /// </summary> public uint dwNSKClientVersion; /// <summary> /// Модель ключа /// </summary> public uint dwModel; /// <summary> /// Тип MCU /// </summary> public uint dwMcuType; /// <summary> /// Тип памяти ключа /// </summary> public uint dwMemoryType; // Reserved memory for future use 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; }