Поделиться через


Метод IXCLRDataProcess::FollowStub

Учитывая адрес, который является заглушкой СРЕДЫ CLR (и потенциально состоянием из предыдущего выполнения), определите следующий адрес выполнения, по которому необходимо проверить, был ли заглушка завершена.

ПРИМЕЧАНИЕ. Этот метод устарел. Вызывающие абоненты должны использовать IXCLRDataProcess::FollowStub2 каждый раз, когда он доступен. Такой вариант доступен, если исправление процесса, возвращаемое IXCLRDataProcess::Request по крайней мере 7.

Примечание.

Этот API изначально был разработан для внутреннего использования во время выполнения. Хотя она теперь поддерживается для 3-го стороннего использования, мы рекомендуем по возможности работать с ICorDebug ICorProfiler и API.

Синтаксис

HRESULT FollowStub(
    [in] ULONG32 inFlags,
    [in] CLRDATA_ADDRESS inAddr,
    [in] CLRDATA_FOLLOW_STUB_BUFFER *inBuffer,
    [out] CLRDATA_ADDRESS *outAddr,
    [out] CLRDATA_FOLLOW_STUB_BUFFER *outBuffer,
    [out] ULONG32 *outFlags
);

Параметры

inFlags
[in] Набор флагов, описывающий, как следовать заглушку. Это должно быть значение перечисления CLRDataFollowStubInFlag , которое в настоящее время содержит только одно значение: CLRDATA_FOLLOW_STUB_DEFAULT (0).

inAddr
[in] Адрес заглушки, который следует следовать

inBuffer
[in] Непрозрачный буфер данных, используемый внутренне для поддержания состояния цепочки заглушки. Это значение должно иметь значение NULL при первоначальном вызове FollowStub метода.

outAddr
[out] Следующий адрес выполнения определяется по заглушку.

outBuffer
[out] Непрозрачный буфер данных, используемый внутренне для поддержания состояния цепочки заглушки.

outFlags
[out] Набор флагов, описывающих результат выполнения заглушки. Это значение перечисления CLRDataFollowStubOutFlag . Если значение равно CLRDATA_FOLLOW_STUB_INTERMEDIATE (0), результатом является промежуточный шаг после заглушки и вызывающий объект может снова вызвать FollowStub. Если значение равно CLRDATA_FOLLOW_STUB_EXIT (1), это конец цепочки заглушки и outAddr адрес выполнения в конце цепочки.

Замечания

Заданный адрес можно определить как заглушку или не использовать IXCLRDataProcess::GetAddressType метод, возвращающий тип CLRDATA_ADDRESS_RUNTIME_MANAGED_STUB или CLRDATA_ADDRESS_RUNTIME_UNMANAGED_STUB.

Предоставленный метод является частью IXCLRDataProcess интерфейса и соответствует 47-му слоту таблицы виртуальных методов.

Требования

Платформы: см. раздел Требования к системе. Заголовок: Нет библиотеки: нет платформа .NET Framework версий: доступно с версии 4.7

См. также