Versions Compared

Key

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

Функция(метод) GrdGetLastError получает код последней ошибки для указанного хэндла.Примечание: данная функция работает с указателями, и ее использование требует компиляции проекта с параметром /unsafe. 

Синтаксис

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

hGrd

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

ppLastErrFunc

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

Expand
titleВозвращаемые значения

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

Card
labelC#
Возвращаемое значение функции

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

Code Block
languagec#
public static GrdE GrdGetLastError(
	IntPtr GrdHandle,
	IntPtr LastErrFunc
)
Expand
titleПараметры

 

 
Expand
titleВозвращаемые значения
Card
labelJava
Code Block
languagejava
 
Expand
titleПараметры

 

Expand
titleВозвращаемые значения

 

Expand
Описание

Функция 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.