Condividi tramite


Funzione RegisterForRuntimeStartup3

Esegue il callback all'avvio del runtime .NET nel processo specificato.

Sintassi

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

Parametri

dwProcessId
[in] ID del processo di destinazione.

lpApplicationGroupId
[in] Stringa che rappresenta l'ID del gruppo di applicazioni di un processo in modalità sandbox in esecuzione in Mac. Passare NULL se il processo non è in esecuzione in una sandbox e in altre piattaforme.

pLibraryProvider
[in] Un'istanza dell'interfaccia di callback per l'individuazione di database e applicazione livello dati. Vedere l'interfaccia ICLRDebuggingLibraryProvider3.

pfnCallback
[in] Callback richiamato all'avvio del runtime. Vedere il puntatore a funzione PSTARTUP_CALLBACK.

parameter
[in] Puntatore dati passato a pfnCallback.

ppUnregisterToken
[out] Puntatore per restituire il token UnregisterForRuntimeStartup.

Valore restituito

S_OK
Il callback di avvio è stato registrato correttamente.

E_INVALIDARG
pfnCallback o ppUnregisterToken è null.

E_FAIL (o altri codici E_ restituiti)
La registrazione del callback non è riuscita.

Osservazioni:

Al callback viene passata l'istanza ICorDebug appropriata per la versione del runtime o un errore in caso di operazione non riuscita. Questa API funziona per l'avvio e il collegamento (e anche per lo scenario di collegamento se il runtime non è stato ancora caricato) in modo uniforme su xplat e Windows. Il callback viene sempre chiamato su un thread separato. Questa API restituisce immediatamente un risultato. Il callback viene richiamato quando il modulo di runtime coreclr viene caricato durante l'inizializzazione anticipata. Il runtime viene bloccato durante l'inizializzazione fino a quando il callback non restituisce un risultato. Se il runtime è già caricato nel processo (come nel normale caso di collegamento), il callback viene eseguito e il runtime non viene bloccato. Il callback viene sempre richiamato su un thread separato e questa API restituisce immediatamente un risultato. Attualmente è supportata solo la prima istanza del modulo coreclr trovata nel processo di destinazione.

Si tratta dell'unica funzione di registrazione che funziona per le applicazioni a file singolo.

Requisiti

Piattaforme: vedere Sistemi operativi supportati da .NET.

Intestazione: dbgshim.h

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

Versioni .NET: disponibile a partire da .NET 6.0