Структура используемая в функции 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; // Аппаратная версия ключа (биты 0 -3: minor, биты 4 - 7: major) public byte mMaxNetRes; // Максимальный ресурс лицензий сетевого ключа (программируется компанией "Актив" при продаже ключа) public short mType; // Флаги типа ключа public int mID; // ID ключа (программируется компанией "Актив" при продаже ключа)// Соответствующие поля доступны из UAM режима public byte mProg; // Номер программы public byte mVer; // Версия программы public short mSN; // Серийный номер public short mMask; // Битовая маска public short mGP; // Счетчик запусков GP (устаревшая технология, не используется) public short mRealNetRes; // Текущий ресурс лицензий сетевого ключа. Задается разработчиком, должен быть <= byMaxNetRes public int mIndex; // Индекс, используемый утилитами удаленного программирования public short mWriteProtectS3; // SAM-адрес 1-го байта, доступного для записи. Если 0, запреты на запись отсутствуют.Только для Stealth III public short mReadProtectS3; // SAM-адрес 1-го байта, доступного для чтения. Если 0, запреты на чтение отсутствуют.Только для Stealth III public short mGlobalFlags; // Глобальные флаги public int mDongleState; // Состояние ключа.см.GrdDSF_XXX определение // В наличии с: // 1. Stealth Sign.(Номер прошивки >= 0x01000011h or 01.00.00.11)// 2. Guardant Code. public int mOldMPNum; // Старый номер прошивки (перед SFU). public int mGrDrv_Platform; // Разрядность драйвера.Платформа (Win32/Win64). public int mGrDrv_Vers; // Версия драйвера(0х05401234=5.40.12.34) public int mGrDrv_Build; // Сборка драйвера public int mGrDrv_Reserved; // Зарезервированое значение public int mRkmUserAddr; // Адрес начала пользовательской памяти в 2-х байтовых словах public int mRkmAlgoAddrW; // Адрес таблицы размещения защищенных ячеек в словах public int mPrnPort; // Адрес LPT-порта (или 0, если ключ - USB) public int mClientVersion; // Зарезервированная версия клиента ключа // SAP start public int mRFlags; // Зарезервировано. Тип MCU public int mRProgVer; // Зарезервированная версия программы(в MCU) public int mRcn_rc; // Зарезервированный текущий номер и код ответ public int mNcmps; // Зарезервированный номер условий сравнения public int mNSKClientVersion; // Зарезервированная версия клиента (low byte - minor, hi - major) public int mModel; // Модель ключа public int mMcuType; // Тип ключа MCU public int mMemoryType; // Тип памяти ключа // Зарезервировано для будущего использования }