Метод ICorProfilerInfo3::GetFunctionEnter3Info
Предоставляет сведения о кадре стека и аргументе функции, которая передается профилировщику функцией FunctionEnter3WithInfo . Этот метод может быть вызван только во время обратного вызова FunctionEnter3WithInfo
.
Синтаксис
HRESULT GetFunctionEnter3Info(
[in] FunctionID functionId,
[in] COR_PRF_ELT_INFO eltInfo,
[out] COR_PRF_FRAME_INFO *pFrameInfo,
[in, out] ULONG *pcbArgumentInfo,
[out, size_is(*pcbArgumentInfo)]
COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
Параметры
functionId
[in] FunctionID
функции, которая вводится.
eltInfo
[in] Непрозрачный дескриптор, представляющий сведения об указанном кадре стека. Профилировщик должен предоставлять то же eltInfo
, что и функция FunctionEnter3WithInfo .
pFrameInfo
[out] Непрозрачный дескриптор, представляющий универсальные сведения об указанном кадре стека. Этот дескриптор допустим только во время обратного вызова FunctionEnter3WithInfo
, в котором профилировщик вызывал метод GetFunctionEnter3Info
.
pcbArgumentInfo
[вход, выход] Указатель на общий размер (в байтах) структуры COR_PRF_FUNCTION_ARGUMENT_INFO (а также любые дополнительные структуры COR_PRF_FUNCTION_ARGUMENT_RANGE для диапазонов аргументов, на которые указывает pArgumentInfo
). Если указанный размер недостаточен, то возвращается значение ERROR_INSUFFICIENT_BUFFER, и ожидаемый размер сохраняется в pcbArgumentInfo
. Чтобы вызвать GetFunctionEnter3Info
только для получения ожидаемого значения для *pcbArgumentInfo
, установите *pcbArgumentInfo
= 0 и pArgumentInfo
= NULL.
pArgumentInfo
[out] Указатель на структуру COR_PRF_FUNCTION_ARGUMENT_INFO , которая описывает расположение аргументов функции в памяти в порядке слева направо.
Комментарии
Профилировщик должен выделить достаточно места для структуры COR_PRF_FUNCTION_ARGUMENT_INFO
проверяемой функции, и должен указать размер в параметре pcbArgumentInfo
.
Требования
Платформы: см. раздел Требования к системе.
Заголовок: CorProf.idl, CorProf.h
Библиотека: CorGuids.lib
версии платформа .NET Framework: доступно с 4