You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

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

 

C
int GRD_API GrdPI_Deactivate(
HANDLE hGrd,
DWORD dwItemNum,
DWORD dwDeactivatePsw
);

C#

Visual Basic

Visual C++

hGrd

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

dwItemNum

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

dwDeactivatePsw

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

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

GrdE_AccessDenied

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

GrdE_StatusUnchangeable

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

GrdE_NoService

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

 

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

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

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

Если при попытке деактивации активной ячейки был указан неверный пароль dwDeactivatePsw, функция GrdPI_Deactivate возвращает ошибку 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\"

  • No labels