Versions Compared

Key

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

...

Expand
titleОписание

Функция GrdGetLastError получает код последней ошибки из указанного хэндла. В параметре ppLastErrFunc возвращается указатель на функцию, которая вернула какую-либо ошибку. Например, если не хватило памяти, то функция вернет указатель на VirtualAlloc.

Если ошибку сгенерировала функция Guardant API, возвращается NULL, поскольку определить адрес функции нельзя из-за псевдокода. Также NULL возвращается и в других случаях, когда нельзя определить адрес функции-источника ошибки.

Для каждого хэндла генерируются свои ошибки. При использовании нескольких хэндлов ошибки одного хендла не перекрывают ошибок для другого.

Важная информация. Если заданный хэндл в данный момент используется мультипоточно, то хранящееся в нем значение кода последней ошибки может быть затерто результатом вызова какой-либо функции Guardant API другого потока. В этом случае возможны следующие варианты решения:

  • Не использовать функцию GrdGetLastError, а вместо нее анализировать непосредственно возвращаемый код возврата каждой функции
  • Дополнительно синхронизировать выполнение потоков например через критические секции Win API. 

 

Wiki Markup
{dojo-tabs:theme=tundra|id=1}
{dojo-tab:title=C|selected=true}
*C*
int GRD_API GrdGetLastError(	
  HANDLE hGrd,
  void **ppLastErrFunc
);	
{dojo-tab}
{dojo-tab:title=C#|selected=true}
*C#*
public static GrdE GrdGetLastError(
	IntPtr GrdHandle,
	IntPtr LastErrFunc
)
{dojo-tab}
{dojo-tab:title=Visual Basic (Declaration)}
*Visual Basic*
Public Shared Function GrdGetLastError ( _
	GrdHandle As IntPtr, _
	LastErrFunc As IntPtr _
) As GrdE
{dojo-tab}
{dojo-tab:title=Visual C++}
*Visual C++*
public:
static GrdE GrdGetLastError (
	IntPtr GrdHandle, 
	IntPtr LastErrFunc
)
{dojo-tab}
{dojo-tabs}
Expand
titleВходные параметры

hGrd

хэндл, из которого нужно получить код ошибки

ppLastErrFunc

указатель на функцию-источник ошибки, должен быть равен NULL если не используется

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

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

Expand
titleОписание

Функция GrdGetLastError получает код последней ошибки из указанного хэндла. В параметре ppLastErrFunc возвращается указатель на функцию, которая вернула какую-либо ошибку. Например, если не хватило памяти, то функция вернет указатель на VirtualAlloc.

Если ошибку сгенерировала функция Guardant API, возвращается NULL, поскольку определить адрес функции нельзя из-за псевдокода. Также NULL возвращается и в других случаях, когда нельзя определить адрес функции-источника ошибки.

Для каждого хэндла генерируются свои ошибки. При использовании нескольких хэндлов ошибки одного хендла не перекрывают ошибок для другого.

Важная информация. Если заданный хэндл в данный момент используется мультипоточно, то хранящееся в нем значение кода последней ошибки может быть затерто результатом вызова какой-либо функции Guardant API другого потока. В этом случае возможны следующие варианты решения:

  • Не использовать функцию GrdGetLastError, а вместо нее анализировать непосредственно возвращаемый код возврата каждой функции
  • Дополнительно синхронизировать выполнение потоков например через критические секции Win API. 

 

...

titleПример

...