Versions Compared

Key

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

...

Deck of Cards
id001
Card
defaulttrue
labelC
Code Block
languagecpp
int GRD_API GrdGetLastError(	
  HANDLE hGrd,
  void **ppLastErrFunc
);	
Expand
titleПараметры функции

hGrd

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

ppLastErrFunc

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

Expand
titleВозвращаемое значение функции

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

Expand
titleОписание

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

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

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

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

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

 

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

GrdHandle grdHandle [in]

Тип: IntPtr

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

LastErrFunc [in]

Тип: IntPtr

Указатель на функцию-источник ошибки.

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

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

Expand
titleОписание

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

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

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

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

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

 

Card
labelJava
Code Block
languagejava
 public static GrdE GrdGetLastError(Handle grdHandle)
Expand
titleПараметры метода

GrdHandle [in]

Тип: Handle

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

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

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

Expand
titleОписание

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

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

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

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

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

 

...