RegisterForRuntimeStartup 函数
当 .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
pfnCallback
或 ppUnregisterToken
为 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 起可用