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

Синтаксис  

int GRD_API GrdWrite(	
  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

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

В случае успешного выполнения функции, начиная с адреса, заданного параметром dwAddr, в ключ будет записано dwLng-байт данных, взятых из буфера с адресом pData.

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

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

grdHandle [in]

Тип: Handle

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

addr [in]

Типы: GrdSAMGrdUAM

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

data [in]

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

Адрес буфера, который содержит данные для записи.

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

GrdE_DongleLocked

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

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

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

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

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

grdHandle [in]

Тип: Handle

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

samAddr (uamAddr) [in]

Типы: GrdSAM , GrdUAM

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

data [in]

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

Адрес буфера, который содержит данные для записи.

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

GrdE_DongleLocked

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

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

Метод GrdWrite позволяет записать данные в область памяти ключа, на которую не наложен запрет на запись и если ключ не был заблокирован на запись другим потоком. Адрес в ключе, по которому будет помещен первый из записанных байт, задается параметром samAddr (uamAddr). Режим адресации задается в зависимости от типа параметра samAddr (uamAddr) (GrdSAMGrdUAM). В случае успешного выполнения метода, начиная с адреса, заданного параметром samAddr (uamAddr), в ключ будут записаны  данные, взятые из параметра data.

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