Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

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

 

Wiki Markup
{dojo-tabs:theme=tundra|id=1}
{dojo-tab:title=C|selected=true}
*C*
int GRD_API GrdSeek(	
  HANDLE hGrd,
  DWORD dwAddr
);	
{dojo-tab}
{dojo-tab:title=C#|selected=true}
*C#*

{dojo-tab}
{dojo-tab:title=Visual Basic (Declaration)}
*Visual Basic*

{dojo-tab}
{dojo-tab:title=Visual C++}
*Visual C++*

{dojo-tab}
{dojo-tabs}
Expand
titleВходные параметры

hGrd

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

dwAddr

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

Expand
titleВыходные параметры

Cтандартный набор ошибок

Expand
titleОписание

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

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

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

Expand
titleПример

Пример для используемого средства разработки см. в директории:

"\%Program Files%\Guardant\Guardant 6\%PublicCode%\Samples\x86\Win32\General Guardant API\"
или
"\%Program Files%\Guardant\Guardant 6\%Public Code%\Samples\x64\Win64\General Guardant API\"