You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

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