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Возвращаемое значение функции

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

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.

...