RegisterForRuntimeStartup3 函式

當 .NET 執行階段在指定流程中啟動時,執行回撥。

語法

HRESULT RegisterForRuntimeStartup3 (
    [in] DWORD dwProcessId,
    [in] LPCWSTR lpApplicationGroupId,
    [in] ICLRDebuggingLibraryProvider3* pLibraryProvider,
    [in] PSTARTUP_CALLBACK pfnCallback,
    [in] PVOID parameter,
    [out] PVOID *ppUnregisterToken)
);

參數

dwProcessId
[in] 目標處理序的處理序識別碼。

lpApplicationGroupId
[in] 這個字串是在 Mac 中執行的沙箱化處理序所屬的應用程式群組識別碼。 如果處理序未在沙箱和其他平台中執行,請傳遞 Null。

pLibraryProvider
[in] 用於尋找 DBI 和 DAC 的回撥介面執行個體。 請參閱 ICLRDebuggingLibraryProvider3 介面。

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 6.0 起提供