Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Deck of Cards
id001
Card
defaulttrue
labelC
Code Block
languagecpp
HANDLE GRD_API GrdCreateHandle(	
  HANDLE hGrd,
  DWORD dwMode,
  void *pReserved 
);	
Expand
titleПараметры функции

hGrd

указатель на область памяти, зарезервированной для защищенного контейнера

dwMode

режим создания контейнера - монопольный или многопоточнный. В качестве значений используются константы GrdCHM_XXXXX. Начиная с версии 6.31 этот параметр игнорируется и должен быть равен константе GrdCHM_MultiThread.

Всегда используется режим одновременной работы из нескольких потоков.

GrdCHM_SingleThread

Контейнер создается для работы в монопольном режиме

GrdCHM_MultiThread

Контейнер может быть использован для одновременной работы с ним из нескольких потоков

pReserved

зарезервировано. Параметр pReserved должен быть равен NULL

Expand
titleВозвращаемое значение функции

Хэндл защищенного контейнера. Если hGrd был задан равным NULL, то есть функция должна была зарезервировать память для контейнера самостоятельно, а в процессе создания защищенного контейнера возникла ошибка, функция вернет NULL.

Expand
titleОписание

Если hGrd равен NULL, то функция выделяет память под контейнер сама. В противном случае контейнер будет размещен в памяти по тому адресу, который указан в параметре hGrd. Размер этого блока памяти во избежание ошибок должен быть не меньше значения константы GrdContainerSize.

Guardant API может вызываться из различных потоков одного и того же приложения. В таких случаях необходимо синхронизировать вызовы, чтобы разные потоки не мешали друг другу. Параметр dwMode указывает, в каком режиме будет работать хэндл, в монопольном или многопоточном. Для удобства определены константы, которые можно использовать в качестве значений параметра dwMode.

При создании защищенного контейнера, внутри API создается критическая секция, через которую происходит синхронизация обращений к ключу из разных потоков. Использовать режим многопоточности рекомендуется только в тех случаях, когда работа с ключом действительно будет производиться из нескольких потоков. В остальных случаях следует создавать защищенный контейнер для использования ключа в монопольном режиме.

Card
labelC#
Code Block
languagec#
public static Handle GrdCreateHandle(GrdCHM Mode)

Expand
titleПараметры метода

Mode [in] 

Тип: GrdCHM

режим создания контейнера - монопольный или многопоточнный

Expand
titleВозвращаемое значение метода

Хэндл защищенного контейнера.

Expand
titleОписание

Guardant API может вызываться из различных потоков одного и того же приложения. В таких случаях необходимо синхронизировать вызовы, чтобы разные потоки не мешали друг другу. Параметр Mode указывает, в каком режиме будет работать хэндл, в монопольном или многопоточном. Для удобства определены константы, которые можно использовать в качестве значений параметра Mode.

При создании защищенного контейнера, внутри API создается критическая секция, через которую происходит синхронизация обращений к ключу из разных потоков. Использовать режим многопоточности рекомендуется только в тех случаях, когда работа с ключом действительно будет производиться из нескольких потоков. В остальных случаях следует создавать защищенный контейнер для использования ключа в монопольном режиме.

Card
labelJava
Code Block
languagejava
 public static Handle GrdCreateHandle(GrdCHM Mode)
Expand
titleПараметры метода

Mode [in] 

Тип: GrdCHM

режим создания контейнера - монопольный или многопоточнный

Expand
titleВозвращаемое значение метода

Хэндл защищенного контейнера.

Expand
titleОписание

Guardant API может вызываться из различных потоков одного и того же приложения. В таких случаях необходимо синхронизировать вызовы, чтобы разные потоки не мешали друг другу. Параметр Mode указывает, в каком режиме будет работать хэндл, в монопольном или многопоточном. Для удобства определены константы, которые можно использовать в качестве значений параметра Mode.

При создании защищенного контейнера, внутри API создается критическая секция, через которую происходит синхронизация обращений к ключу из разных потоков. Использовать режим многопоточности рекомендуется только в тех случаях, когда работа с ключом действительно будет производиться из нескольких потоков. В остальных случаях следует создавать защищенный контейнер для использования ключа в монопольном режиме.