Функция GrdPI_Activate активирует аппаратный алгоритм или защищенную ячейку.

 

{dojo-tabs:theme=tundra|id=1}
{dojo-tab:title=C|selected=true}
*C*
int GRD_API GrdPI_Activate(	
  HANDLE hGrd,
  DWORD dwItemNum,
  DWORD dwActivatePsw
);	
{dojo-tab}
{dojo-tab:title=C#|selected=true}
*C#*

{dojo-tab}
{dojo-tab:title=Visual Basic (Declaration)}
*Visual Basic*

{dojo-tab}
{dojo-tab:title=Visual C++}
*Visual C++*

{dojo-tab}
{dojo-tabs}

hGrd

хэндл защищенного контейнера для выполнения активации

dwItemNum

номер аппаратного алгоритма или защищенной ячейки для активации

dwActivatePsw

пароль для активации. Если пароль не используется, параметр должен быть равен 0

Возможные ошибки

GrdE_AccessDenied

неверный пароль активации, доступ к ячейке запрещен

GrdE_StatusUnchangeable

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

GrdE_NoService

для данного типа ячейки не предусмотрена активация

 

Стандартный набор ошибок

Функция GrdPI_Activate активирует аппаратный алгоритм или любую другую защищенную ячейку. Активацию ячейки можно производить в том случае, когда она была создана неактивной, либо была деактивирована через GrdPI_Deactivate. Для активации можно потребовать указать пароль активации dwActivatePsw, который задается при создании ячейки или алгоритма. При создании ячейки в GRDUTIL пароль требуется по умолчанию.

Если алгоритм или ячейка находятся в активном состоянии (Active), функция возвращает GrdE_OK вне зависимости от правильности пароля активации.

Если при попытке активации неактивной ячейки был указан неверный пароль dwActivatePsw, функция GrdPI_Activate возвращает ошибку GrdE_AccessDenied. При этом автоматически в ключе уменьшается счетчик ошибок доступа к ячейке, который задается при создании ячейки. Когда значение счетчика ошибок доходит до 0, статус ячейки становится неизменяемым, то есть ячейку больше невозможно активировать/деактивировать/читать/менять ее значение. Однако если алгоритм находился в состоянии Active, функция GrdTransform будет нормально работать.

Пример для используемого средства разработки см. в директории:

"\%Program Files%\Guardant\Guardant 6\%PublicCode%\Samples\x86\Win32\General Guardant API\"
или
"\%Program Files%\Guardant\Guardant 6\%Public Code%\Samples\x64\Win64\General Guardant API\"