Функция(метод) GrdRead выполняет чтение данных из памяти ключа.

Синтаксис  

    int GRD_API GrdRead(	
      HANDLE hGrd,
      DWORD	dwAddr,
      DWORD	dwLng,
      void	*pData,
      void	*pReserved
    );	

    hGrd

    хэндл, через который будет выполнена данная операция

    dwAddr

    адрес первого считываемого байта в ключе. Вместо значения адреса можно указывать константы, задающие предопределенные адреса стандартных полей. Если dwAddr задать равным GrdSeekCur (0xFFFFFFFF), то в качестве значения адреса памяти в электронном ключе, будет использовано текущее значение этого адреса ассоциированное с данным хэндлом. В случае успешного выполнения операции чтения, текущее значение смещения внутри ключа будет передвинуто за конец считанного блока. Это полезно при организации последовательного потокового чтения данных.

    GrdSeekCur

    Использовать указатель текущего адреса памяти ключа для выполнения операции

    dwLng

    количество считываемых байтов

    pData

    адрес буфера для считанных данных

    pReserved

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

    GrdE_OK Операция выполнена успешно.

    GrdE_DongleLocked

    Ключ заблокирован.

    Перейти к списку всех ошибок Guardant API

    Функция GrdRead позволяет прочитать данные из областей памяти ключа, на которые не наложен запрет на чтение в том случае, если ключ не был заблокирован на чтение другим потоком. Адрес первого считываемого байта задается параметром dwAddr, количество байт - параметром dwLng. Режим адресации задается при вызове функции GrdSetWorkMode (по умолчанию используется режим адресации UAM). Если функция выполнена успешно, по адресу, заданному параметром pData, будут помещены считанные из ключа данные.

    Память для буфера данных должна быть выделена до вызова GrdRead. Если попытаться считать данные из области памяти, на которую наложен запрет на чтение, или за пределами адресуемой памяти ключа, то будет возвращено GrdE_OK, однако ни один байт прочитан не будет. Если ключ был заблокирован другим потоком, будет возвращена ошибка GrdE_DongleLocked.

    public static GrdE GrdRead(Handle grdHandle, GrdSAM addr, byte[] data)
    public static GrdE GrdRead(Handle grdHandle, GrdUAM addr, byte[] data)
    public static GrdE GrdRead(Handle grdHandle, GrdSAM addr, int lng, out byte[] data)
    public static GrdE GrdRead(Handle grdHandle, GrdUAM addr, int lng, out byte[] data)
    public static GrdE GrdRead(Handle grdHandle, GrdSAM addr, out byte data)
    public static GrdE GrdRead(Handle grdHandle, GrdUAM addr, out byte data)
    public static GrdE GrdRead(Handle grdHandle, GrdSAM addr, out short data)
    public static GrdE GrdRead(Handle grdHandle, GrdUAM addr, out short data)
    public static GrdE GrdRead(Handle grdHandle, GrdSAM addr, out ushort data)
    public static GrdE GrdRead(Handle grdHandle, GrdUAM addr, out ushort data)
    public static GrdE GrdRead(Handle grdHandle, GrdSAM addr, out int data)
    public static GrdE GrdRead(Handle grdHandle, GrdUAM addr, out int data)
    public static GrdE GrdRead(Handle grdHandle, GrdSAM addr, out uint data)
    public static GrdE GrdRead(Handle grdHandle, GrdUAM addr, out uint data)
    public static GrdE GrdRead(Handle grdHandle, GrdSAM addr, out long data)
    public static GrdE GrdRead(Handle grdHandle, GrdUAM addr, out long data)
    public static GrdE GrdRead(Handle grdHandle, GrdSAM addr, out ulong data)
    public static GrdE GrdRead(Handle grdHandle, GrdUAM addr, out ulong data)
    
    

    grdHandle [in]

    Тип: Handle

    Хэндл, через который будет выполнена данная операция

    addr [in]

    Типы: GrdSAMGrdUAM

    Адрес первого считываемого байта в ключе.

    data [out]

    Типы: byte[ ], byte, short, ushort, int, uint, long, ulong

    Адрес буфера для считанных данных.

    GrdE_OK Операция выполнена успешно.

    GrdE_DongleLocked

    Ключ заблокирован.

    Перейти к списку всех ошибок Guardant API

    Метод GrdRead позволяет прочитать данные из областей памяти ключа, на которые не наложен запрет на чтение в том случае, если ключ не был заблокирован на чтение другим потоком. Адрес первого считываемого байта задается параметром addr. Режим адресации задается в зависимости от типа параметра addr (GrdSAMGrdUAM). Если в качестве параметра addr передается значение типа int/uint, то оно преобразуется к типу GrdUAM. Если метод выполнен успешно, по адресу, заданному параметром data, будут помещены считанные из ключа данные.

    Если попытаться считать данные из области памяти, на которую наложен запрет на чтение, или за пределами адресуемой памяти ключа, то будет возвращено GrdE.OK, однако ни один байт прочитан не будет. Если ключ был заблокирован другим потоком, будет возвращена ошибка GrdE.DongleLocked.

     

    public static GrdE GrdRead(Handle grdHandle, GrdSAM samAddr, byte[] data)
    public static GrdE GrdRead(Handle grdHandle, GrdUAM uamAddr, byte[] data)
    public static GrdE GrdRead(Handle grdHandle, GrdSAM samAddr, short[] data)
    public static GrdE GrdRead(Handle grdHandle, GrdUAM uamAddr, short[] data)
    public static GrdE GrdRead(Handle grdHandle, GrdSAM samAddr, int[] data)
    public static GrdE GrdRead(Handle grdHandle, GrdUAM uamAddr, int[] data)
    public static GrdE GrdRead(Handle grdHandle, GrdSAM samAddr, long[] data)
    public static GrdE GrdRead(Handle grdHandle, GrdUAM uamAddr, long[] data)
    

    grdHandle [in]

    Тип: Handle

    Хэндл, через который будет выполнена данная операция

    samaddr (uamaddr) [in]

    Типы: GrdSAM , GrdUAM

    data [out]

    Типы: byte [ ], short [ ], int [ ], long [ ]

    Адрес буфера для считанных данных.

    GrdE_OK Операция выполнена успешно.

    GrdE_DongleLocked

    Ключ заблокирован.

    Перейти к списку всех ошибок Guardant API

    Метод GrdRead позволяет прочитать данные из областей памяти ключа, на которые не наложен запрет на чтение в том случае, если ключ не был заблокирован на чтение другим потоком. Адрес первого считываемого байта задается параметром samaddr (uamaddr). Режим адресации задается в зависимости от типа параметра samaddr (uamaddr) (GrdSAM GrdUAM). Если метод выполнен успешно, по адресу, заданному параметром data, будут помещены считанные из ключа данные.

    Если попытаться считать данные из области памяти, на которую наложен запрет на чтение, или за пределами адресуемой памяти ключа, то будет возвращено GrdE.OK , однако ни один байт прочитан не будет. Если ключ был заблокирован другим потоком, будет возвращена ошибка GrdE.DongleLocked.

     

     

     

     

     

    • No labels