Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleОписание

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

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

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

...