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

Compare with Current View Page History

« Previous Version 4 Next »

Функция 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_VerifyError

    Ошибка верификации после нескольких повторов; запись прекращена

    GrdE_CRCErrorWrite

    Ошибка CRC; запись прекращена

    GrdE_VerifyError

    Попытка записи в read-only поля

    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)

     

     

     

     

     

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

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

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

    • No labels