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

Compare with Current View Page History

« Previous Version 8 Next »

Функция GrdSeek устанавливает текущий указатель памяти ключа на заданную позицию.

    int GRD_API GrdSeek(	
      HANDLE hGrd,
      DWORD dwAddr
    );	

    hGrd

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

    dwAddr

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

    public static GrdE GrdSeek(Handle grdHandle, uint addr)
    

    grdHandle [in]

    Тип: Handle

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

    addr [in]

    Тип: uint

    Адрес памяти ключа, на который будет установлен текущий указатель.

     public static  GrdE GrdSeek(Handle grdHandle, int addr)

    grdHandle [in]

    Тип: Handle

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

    addr [in]

    Тип: int

    Адрес памяти ключа, на который будет установлен текущий указатель.

    Функция GrdSeek устанавливает текущий указатель памяти ключа на заданную позицию. Адрес dwAddr, на который устанавливается указатель должен быть задан в режиме адресации (SAM или UAM) в соответствии с текущим режимом, установленным последним вызовом функции GrdSetWorkMode. При переключении режимов адресации через GrdSetWorkMode значение указателя пересчитывается так, чтобы опять указывать на тот же адрес памяти ключа. Текущий указатель позволяет с большим удобством производить серии последовательных операций чтения/записи, не выполняя каждый раз перерасчет текущего указателя вручную.

    Если при вызове GrdRead / GrdWrite вместо адреса в ключе указать константу GrdSeekCur ( определена как 0xFFFFFFFF ), то данная операция использует текущее значение указателя, а в случае удачного завершения команды переставит после него текущий указатель на первый байт после последнего записанного или прочитанного. Если с данным хендлом работает не один поток, то между вызовами функций GrdAPI данное значение текущего указателя может быть изменено другим потоком. Поэтому в этом случае предпочтительней указывать в каждом вызове конкретное значение адреса или дополнительно синхронизировать потоки чем-либо типа критических секций.

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

    • No labels