在指定进程中启动 .NET 运行时时执行回调。
语法
HRESULT RegisterForRuntimeStartup (
[in] DWORD dwProcessId,
[in] PSTARTUP_CALLBACK pfnCallback,
[in] PVOID parameter,
[out] PVOID *ppUnregisterToken)
);
参数
dwProcessId
[in]目标进程的进程 ID。
pfnCallback
[in]运行时启动时调用的回调。 请参阅 PSTARTUP_CALLBACK 函数指针。
parameter
[in] 传递到 pfnCallback的数据指针。
ppUnregisterToken
[out] 指针,返回 UnregisterForRuntimeStartup 令牌。
返回值
S_OK
已成功注册启动回调。
E_INVALIDARG
要么pfnCallbackppUnregisterToken为 null。
E_FAIL (或其他 E_ 返回代码)
回调注册失败。
注解
回调为运行时版本传递正确的 ICorDebug 实例;如果出现错误,则返回错误。 此 API 适用于启动和附加(甚至附加方案(如果运行时尚未加载)同样在 xplat 和 Windows 上。 回调始终在单独的线程上调用。 此 API 会立即返回。 在早期初始化期间加载 coreclr 运行时模块时调用回调。 在初始化期间阻止运行时,直到回调返回。 如果运行时已在进程中加载(与正常附加情况一样),则会执行回调,并且不会阻止运行时。 回调始终在单独的线程上调用,此 API 会立即返回。 目前仅支持在目标进程中找到的第一个 coreclr 模块实例。
要求
平台: 请参阅 .NET 支持的作系统。
标头: dbgshim.h
库: dbgshim.dll、libdbgshim.so、libdbgshim.dylib
.NET 版本: 自 .NET Core 2.1 起可用