Функция GrdGetInfo получает информацию из защищенного контейнера по указанному коду.

int GRD_API GrdGetInfo(	
  HANDLE hGrd,
  DWORD dwInfoCode,
  DWORD *pInfoData,
  DWORD dwInfoSize
);

hGrd

хэндл, из которого нужно получить информацию

dwInfoCode

код запрашиваемой информации, см. константы GrdGIX_XXXXX

pInfoData

указатель на буфер, в который будет помещена запрашиваемая информация

dwInfoSize

размер буфера

dwInfoCode

dwInfoSize

Комментарий

// Информация об API

GrdGIV_VerAPI

4

Версия API (0x05401234=5.40.12.34)

// Common Mode

GrdGIM_WorkMode

4

Режим работы, заданный комбинацией флагов GrdWM_XXXX в функции GrdSetWorkMode

GrdGIM_HandleMode

1

Режим хэндла (монопольный/многопоточный)

// Текущие режимы поиска и логина, установленные функцией GrdSetFindMode

GrdGIF_Remote

1

Локальный и/или удаленный ключ, комбинация флагов GrdFMR_ХХХХ (GrdFMR_Local + GrdFMR_Remote)

GrdGIF_Flags

1

Комбинация флагов поиска GrdFM_XXXX, установленных в параметре dwFlags функции GrdSetFindMode

GrdGIF_Prog

1

Номер программы

GrdGIF_ID

4

ID ключа

GrdGIF_SN

2

Серийный номер

GrdGIF_Ver

1

Версия

GrdGIF_Mask

2

Битовая маска

GrdGIF_Type

2

Тип ключа

GrdGIF_Model

4

Биты возможных моделей ключа. Список моделей кодируется битами, установленными в разрядах с номерами, соответствующими значениям констант GrdDM_XXX 1 << GrdDM_XXX (GS1L, GS1U, GF1L, GS2L, GS2U )

GrdGIF_Interface

4

Биты возможных интерфейсов. Список интерфейсов кодируется битами, установленными в разрядах с номерами, соответствующими значениям констант GrdDI_XXX 1 << GrdDI_XXX (LPT|USB)

// Регистрационная информация о текущем ключe, устанавливаемая функцией GrdLogin

GrdGIL_Remote

1

Удаленный или локальный ключ. Если 0, то это локальный ключ, если 1, то удаленный

GrdGIL_ID

4

ID текущего ключа

GrdGIL_Model

1

Модель текущего ключа

GrdGIL_Interface

1

Интерфейс текущего ключа

GrdGIL_LockCounter

 

Счетчик блокировок текущего ключа

GrdGIL_Seek

4

Текущее значение указателя памяти ключа в текущей системе адресации

// Регистрационная информация о текущем удаленном или локальном драйвере ключа

GrdGIL_DrvVers

2

Версия драйвера (0x0551=5.51)

GrdGIL_DrvBuild

1

Номер билда драйвера

GrdGIL_PortLPT

2

Адрес LPT порта, к которому подключен текущий ключ (0 == USB)

// Регистрационная информация о текущем удаленном ключе

GrdGIR_VerSrv

8

Версия и номер билда сервера Guardant Net

GrdGIR_LocalIP

15

Локальный IP-адрес сервера Guardant Net

GrdGIR_LocalPort

2

Локальный IP-порт сервера Guardant Net

GrdGIR_LocalNB

15

Локальное NetBIOS-имя сервера Guardant Net

GrdGIR_RemoteIP

15

Удаленный IP-адрес сервера Guardant Net

GrdGIR_RemotePort

2

Удаленный IP-порт сервера Guardant Net

GrdGIR_RemoteNB

15

Удаленное NetBIOS-имя сервера Guardant Net

Функция GrdGetInfo записывает по адресу, указанному в параметре pInfoData значение, содержащее запрошенную информацию из хэндла. Размер передаваемого буфера указывается параметром dwInfoSize.

 public static GrdE GrdGetInfo(Handle grdHandle, GrdInfo infoCode, out byte infoData)
 public static GrdE GrdGetInfo(Handle grdHandle, GrdInfo infoCode, out ushort infoData)
 public static GrdE GrdGetInfo(Handle grdHandle, GrdInfo infoCode, out uint infoData)
 public static GrdE GrdGetInfo(Handle grdHandle, GrdInfo infoCode, out ulong infoData)
 public static GrdE GrdGetInfo(Handle grdHandle, GrdInfo infoCode, byte[] infoData)
 public static GrdE GrdGetInfo(Handle grdHandle, GrdGIR infoCode, out byte[] infoData)

grdHandle [in] 

Тип: Handle

хэндл, из которого нужно получить информацию

infoCode [in]

Тип: GrdInfo

код запрашиваемой информации

infoCode [in]

Тип:  GrdGIR

код запрашиваемой информации

 

public static GrdE GrdGetInfo(Handle grdHandle, GrdInfo infoCode, byte[] infoData)
public static GrdE GrdGetInfo(Handle grdHandle, GrdInfo infoCode, short[] infoData)
public static GrdE GrdGetInfo(Handle grdHandle, GrdInfo infoCode, int[] infoData)
public static GrdE GrdGetInfo(Handle grdHandle, GrdInfo infoCode, long[] infoData)

grdHandle [in] 

Тип: Handle

хэндл, из которого нужно получить информацию

infoCode [in]

Тип: GrdInfo

код запрашиваемой информации

infoCode [in]

Тип:  GrdGIR

код запрашиваемой информации

 

Функция GrdGetInfo используется для получения различных данных о ключах и режимах из защищенного хранилища, на которое указывает хэндл hGrd.

Вызов с параметрами GrdGIL_DrvVers, GrdGIL_DrvBuild приводит к возврату значений в формате, полностью аналогичном формату GrdDrvGetVersion. 

Вызов с параметром GrdGIV_VerAPI приводит к возврату 0x05400000, что соответствует верcии API 5.40 (т. е. кодируется в старшем слове, в шестнадцатеричном формате).