Teilen über


RegisterForRuntimeStartup3-Funktion

Führt den Rückruf aus, wenn die .NET-Runtime im angegebenen Prozess startet.

Syntax

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

Parameter

dwProcessId
[in] Die Prozess-ID des Zielprozesses.

lpApplicationGroupId
[in] Eine Zeichenfolge, die die Anwendungsgruppen-ID eines Sandkastenprozesses darstellt, der auf dem Mac ausgeführt wird. Übergibt NULL, wenn der Prozess nicht in einer Sandbox oder auf anderen Plattformen ausgeführt wird.

pLibraryProvider
[in] Eine Rückrufschnittstelleninstanz für die Suche nach DBI und DAC. Weitere Informationen finden Sie unter ICLRDebuggingLibraryProvider3-Schnittstelle.

pfnCallback
[in] Ein Rückruf, der beim Start der Runtime aufgerufen wird. Siehe PSTARTUP_CALLBACK-Funktionszeiger.

parameter
[in] Datenzeiger, der an „pfnCallback“ übergeben wurde.

ppUnregisterToken
[out] Zeiger, um das Token UnregisterForRuntimeStartup zurückzugeben.

Rückgabewert

S_OK
Der Startup-Rückruf wurde erfolgreich registriert.

E_INVALIDARG
Entweder pfnCallback oder ppUnregisterToken ist null.

E_FAIL (oder andere E_-Rückgabecodes)
Fehler bei der Rückrufregistrierung.

Bemerkungen

An den Rückruf wird die richtige ICorDebug-Instanz für die Version der Runtime oder ein Fehler übergeben, wenn etwas fehlschlägt. Diese API funktioniert zum Starten und Anfügen (und sogar zum Anfügen, wenn die Runtime noch nicht geladen wurde) gleichermaßen unter xplat und Windows. Der Rückruf wird immer in einem separaten Thread aufgerufen. Diese API gibt sofort etwas zurück. Der Rückruf wird aufgerufen, wenn das Runtimemodul „coreclr“ während der frühen Initialisierung geladen wird. Die Runtime wird während der Initialisierung blockiert, bis der Rückruf etwas zurückgibt. Wenn die Runtime bereits im Prozess geladen wird (wie beim normalen Anfügen), wird der Rückruf ausgeführt, und die Runtime wird nicht blockiert. Der Rückruf wird immer in einem separaten Thread aufgerufen, und diese API gibt sofort etwas zurück. Derzeit wird nur die erste im Zielprozess gefundene coreclr-Modulinstanz unterstützt.

Dies ist die einzige Registrierungsfunktion, die für Einzeldateianwendungen funktioniert.

Anforderungen

Plattformen: Siehe Von .NET unterstützte Betriebssysteme.

Header: dbgshim.h

Bibliothek: dbgshim.dll, libdbgshim.so, libdbgshim.dylib

.NET-Versionen: Verfügbar seit .NET 6.0.