Структура используемая в функции 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;
}