Versions Compared

Key

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

Функция(метод) GrdGetLastError получает код последней ошибки для указанного хэндла.

Примечание: данная функция работает с указателями, и ее использование требует компиляции проекта с параметром /unsafe. 

 

Синтаксис

Входные параметрыПример для используемого средства разработки см. в директории:
"\%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\"
Deck of Cards
id001
Wiki Markup
{dojo-tabs:theme=tundra|id=1} {dojo-tab:title=C|selected=true} *C*
Card
defaulttrue
labelC
Code Block
languagecpp
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
Выходные параметры
Возвращаемое значение функции

Набор ошибок Guardant API

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

Expand
titleОписание

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

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

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

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

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

 

Card
labelC#
Code Block
languagec#
public static GrdE GrdGetLastError(Handle grdHandle)
Expand
title
Пример
Параметры метода

grdHandle [in]

Тип: Handle

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

Expand
titleВозвращаемое значение метода

Набор ошибок Guardant API

Expand
titleОписание

Метод GrdGetLastError получает код последней ошибки из указанного хэндла.

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

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

  • Не использовать метод GrdGetLastError, а вместо него анализировать непосредственно возвращаемый код возврата каждого метода.
  • Дополнительно синхронизировать выполнение потоков например через критические секции Win API. 
Card
labelJava
Code Block
languagejava
 public static GrdE GrdGetLastError(Handle grdHandle)
Expand
titleПараметры метода

grdHandle [in]

Тип: Handle

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

Expand
titleВозвращаемое значение метода

Набор ошибок Guardant API

Expand
titleОписание

Метод GrdGetLastError получает код последней ошибки из указанного хэндла.

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

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

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