Card |
---|
| Code Block |
---|
| int GRD_API GrdPI_Read(
HANDLE hGrd,
DWORD dwItemNum,
DWORD dwAddr,
DWORD dwLng,
void *pData,
DWORD dwReadPsw,
void *pReserved
); |
Expand |
---|
| hGrd | хэндл, через который будет выполнено чтение | dwItemNum | номер защищенной ячейки/алгоритма из которой будет производиться чтение | dwAddr | смещение в определителе защищенной ячейки/алгоритма, начиная с которого будет производиться чтение | dwLng | длина блока данных, которые должны быть прочитаны | pData | указатель на буфер для прочитанных данных | dwReadPsw | пароль для чтения. Если пароль не используется, параметр должен быть равен 0 | pReserved | зарезервировано. Параметр должен быть равен NULL |
|
Expand |
---|
title | Возвращаемое значение функции |
---|
| pData | буфер, содержащий прочитанные данные |
Возможные ошибки |
Expand |
---|
| Функция GrdPI_Read позволяет читать определитель аппаратного алгоритма или данные защищенной ячейки (rs_K[]). Чтение из ячейки можно производить в том случае, когда она находится в активном состоянии. Для чтения можно потребовать указать пароль dwReadPsw, который задается при создании ячейки или алгоритма. При создании ячейки в GRDUTIL пароль требуется по умолчанию. Если алгоритм или ячейка находятся в активном состоянии (Active) и был задан правильный пароль на чтение, функция возвращает GrdE_OK и в буфер pData считывается dwLng байт, начиная со смещения в определителе ячейки dwAddr. Максимальное значение dwLng - 255 байт. Функции GrdPI_Read, GrdPI_Update в случае ключей Guardant Sign/Time не имеют ранее существовавшего ограничения в 255 байт на длину считываемого/перезаписываемого определителя алгоритма/защищенной ячейки. Это связано с отсутствием в указанных ключах ограничения на размер определителя. Если смещение dwAddr задано слишком большим, возвращается ошибка GrdE_Overbound. Если сумма dwAddr+dwLng выходит за доступные для чтения пределы, данных считывается ровно столько, сколько можно считать. При этом функция возвращает GrdE_OK и никаких других кодов ошибки не генерируется. Если при попытке чтения активной ячейки был указан неверный пароль dwReadPsw, функция GrdPI_Read возвращает ошибку GrdE_AccessDenied. При этом автоматически в ключе уменьшается счетчик ошибок доступа к ячейке, который задается при создании ячейки. Когда значение счетчика ошибок доходит до 0, статус ячейки становится неизменяемым, то есть ячейку больше невозможно активировать/деактивировать/читать/менять ее значение. Однако если алгоритм находился в состоянии Active, функция GrdTransform будет нормально работать. |
|
Card |
---|
| Code Block |
---|
| public static GrdE GrdPI_Read(Handle grdHandle,GrdAlgNum algNum, uint addr, byte[] data)
public static GrdE GrdPI_Read(Handle grdHandle,GrdAlgNum algNum, uint addr, byte[] data, uint readPsw)
public static GrdE GrdPI_Read(Handle grdHandle,GrdAlgNum algNum, uint addr, int lng, out byte[] data)
public static GrdE GrdPI_Read(Handle grdHandle,GrdAlgNum algNum, uint addr, int lng, out byte[] data, uint readPsw)
|
Expand |
---|
| grdHandle [in] Тип: Handle Нэндл, с помощью которого будет выполнено чтение. algNum [in] Тип: GrdAlgNum Номер аппаратного алгоритма или защищенной ячейки, из которых будет происходить чтение. addr [in] Тип: uint Смещение в определителе защищенной ячейки или алгоритма, начиная с которого будет происходить чтение. data [out] тип: byte [ ] Указатель на буфер для прочитанных данных. lng [in] тип: int Длина блока данных, которые должны быть прочитаны. readPsw [in] Тип: uint Пароль для чтения. |
Expand |
---|
title | Возвращаемое значение метода |
---|
| Возможные ошибки GrdE_AccessDenied | неверный пароль чтения, доступ к ячейке запрещен | GrdE_StatusUnchangeable | достигнут лимит количества ошибок, статус ячейки изменить нельзя. Доступ к ячейке на чтение заблокирован | GrdE_NoService | для данного типа ячейки не предусмотрена операция чтения | GrdE_InactiveItem | ячейка в деактивированном состоянии, чтение выполнить невозможно | GrdE_Overbound | адрес для чтения выходит за пределы дескриптора | | Стандартный набор ошибок |
|
Expand |
---|
| Функция GrdPI_Read позволяет читать определитель аппаратного алгоритма или данные защищенной ячейки (rs_K[]). Чтение из ячейки можно производить в том случае, когда она находится в активном состоянии. Для чтения можно потребовать указать пароль dwReadPsw, который задается при создании ячейки или алгоритма. При создании ячейки в GRDUTIL пароль требуется по умолчанию. Если алгоритм или ячейка находятся в активном состоянии (Active) и был задан правильный пароль на чтение, функция возвращает GrdE_OK и в буфер pData считывается dwLng байт, начиная со смещения в определителе ячейки dwAddr. Максимальное значение dwLng - 255 байт. Функции GrdPI_Read, GrdPI_Update в случае ключей Guardant Sign/Time не имеют ранее существовавшего ограничения в 255 байт на длину считываемого/перезаписываемого определителя алгоритма/защищенной ячейки. Это связано с отсутствием в указанных ключах ограничения на размер определителя. Если смещение dwAddr задано слишком большим, возвращается ошибка GrdE_Overbound. Если сумма dwAddr+dwLng выходит за доступные для чтения пределы, данных считывается ровно столько, сколько можно считать. При этом функция возвращает GrdE_OK и никаких других кодов ошибки не генерируется. Если при попытке чтения активной ячейки был указан неверный пароль dwReadPsw, функция GrdPI_Read возвращает ошибку GrdE_AccessDenied. При этом автоматически в ключе уменьшается счетчик ошибок доступа к ячейке, который задается при создании ячейки. Когда значение счетчика ошибок доходит до 0, статус ячейки становится неизменяемым, то есть ячейку больше невозможно активировать/деактивировать/читать/менять ее значение. Однако если алгоритм находился в состоянии Active, функция GrdTransform будет нормально работать. |
|
Card |
---|
| Code Block |
---|
| public static GrdE GrdPI_Read(Handle grdHandle, int itemNum, int addr, byte[] data)
public static GrdE GrdPI_Read(Handle grdHandle, int itemNum, int addr, byte[] data, int readPsw)
|
Expand |
---|
| grdHandle [in] Тип: Handle Нэндл, с помощью которого будет выполнено чтение. itemNum [in] Тип: int Номер аппаратного алгоритма или защищенной ячейки, из которых будет происходить чтение. addr [in] Тип: int Смещение в определителе защищенной ячейки или алгоритма, начиная с которого будет происходить чтение. data [out] тип: byte [ ] Указатель на буфер для прочитанных данных. readPsw [in] Тип: int Пароль для чтения. |
Expand |
---|
title | Возвращаемое значение метода |
---|
| Возможные ошибки GrdE_AccessDenied | неверный пароль чтения, доступ к ячейке запрещен | GrdE_StatusUnchangeable | достигнут лимит количества ошибок, статус ячейки изменить нельзя. Доступ к ячейке на чтение заблокирован | GrdE_NoService | для данного типа ячейки не предусмотрена операция чтения | GrdE_InactiveItem | ячейка в деактивированном состоянии, чтение выполнить невозможно | GrdE_Overbound | адрес для чтения выходит за пределы дескриптора | | Стандартный набор ошибок |
|
Expand |
---|
| Функция GrdPI_Read позволяет читать определитель аппаратного алгоритма или данные защищенной ячейки (rs_K[]). Чтение из ячейки можно производить в том случае, когда она находится в активном состоянии. Для чтения можно потребовать указать пароль dwReadPsw, который задается при создании ячейки или алгоритма. При создании ячейки в GRDUTIL пароль требуется по умолчанию. Если алгоритм или ячейка находятся в активном состоянии (Active) и был задан правильный пароль на чтение, функция возвращает GrdE_OK и в буфер pData считывается dwLng байт, начиная со смещения в определителе ячейки dwAddr. Максимальное значение dwLng - 255 байт. Функции GrdPI_Read, GrdPI_Update в случае ключей Guardant Sign/Time не имеют ранее существовавшего ограничения в 255 байт на длину считываемого/перезаписываемого определителя алгоритма/защищенной ячейки. Это связано с отсутствием в указанных ключах ограничения на размер определителя. Если смещение dwAddr задано слишком большим, возвращается ошибка GrdE_Overbound. Если сумма dwAddr+dwLng выходит за доступные для чтения пределы, данных считывается ровно столько, сколько можно считать. При этом функция возвращает GrdE_OK и никаких других кодов ошибки не генерируется. Если при попытке чтения активной ячейки был указан неверный пароль dwReadPsw, функция GrdPI_Read возвращает ошибку GrdE_AccessDenied. При этом автоматически в ключе уменьшается счетчик ошибок доступа к ячейке, который задается при создании ячейки. Когда значение счетчика ошибок доходит до 0, статус ячейки становится неизменяемым, то есть ячейку больше невозможно активировать/деактивировать/читать/менять ее значение. Однако если алгоритм находился в состоянии Active, функция GrdTransform будет нормально работать. |
|
|