Page tree
Skip to end of metadata
Go to start of metadata

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