Page tree
Skip to end of metadata
Go to start of metadata

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

    int GcaPI_Read(	
      HANDLE hGrd,
      DWORD dwItemNum,
      DWORD dwAddr,
      DWORD dwLng,
      void *pData,
      DWORD dwReadPsw,
      void *pReserved
    );	
     Параметры функции

    hGrd

    не используется

    dwItemNum

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

    dwAddr

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

    dwLng

    длина блока данных, которые должны быть прочитаны

    pData

    указатель на буфер для прочитанных данных

    dwReadPsw

    зарезервировано

    pReserved

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

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

    pData

    буфер, содержащий прочитанные данные

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

    GrdE_NoService

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

    GrdE_InactiveItem

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

    GrdE_Overbound

    адрес для чтения выходит за пределы дескриптора

     

    Набор ошибок Guardant API

     Описание

    Функция GcaPI_Read позволяет читать определитель аппаратного алгоритма или данные защищенной ячейки (rs_K[]).

    Чтение из ячейки можно производить в том случае, когда она находится в активном состоянии.

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

    Если смещение dwAddr задано слишком большим (больше размера определителя), возвращается ошибка GrdE_Overbound.

    Если сумма dwAddr+dwLng выходит за доступные для чтения пределы, данных считывается ровно столько, сколько можно считать. При этом функция возвращает GrdE_OK и никаких других кодов ошибки не генерируется.

    Функции GcaPI_Read и GcaPI_Update игнорируют пароль для доступа к ячейке и счетчик ошибок ввода пароля.

     

     

    • No labels