Compartilhar via


Função RegisterForRuntimeStartup3

Executa o retorno de chamada quando o runtime do .NET é iniciado no processo especificado.

Sintaxe

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

Parâmetros

dwProcessId
[in] A ID do processo de destino.

lpApplicationGroupId
[in] Uma cadeia de caracteres que representa a ID do grupo de aplicativos de um processo em área restrita em execução no Mac. Passe NULL se o processo não estiver em execução em uma área restrita e em outras plataformas.

pLibraryProvider
[in] Uma instância de interface de retorno de chamada para localizar DBI e DAC. Consulte a interface ICLRDebuggingLibraryProvider3 .

pfnCallback
[in] Um retorno de chamada que é invocado quando o runtime é iniciado. Consulte PSTARTUP_CALLBACK ponteiro de função.

parameter
[in] ponteiro de dados passado para pfnCallback.

ppUnregisterToken
[out] ponteiro para retornar o token UnregisterForRuntimeStartup .

Valor de retorno

S_OK
O retorno de chamada de inicialização foi registrado com êxito.

E_INVALIDARG
pfnCallback Ou ppUnregisterToken é nulo.

E_FAIL (ou outros E_ códigos de retorno)
Falha no registro de retorno de chamada.

Observações

O retorno de chamada é passado pela instância ICorDebug adequada para a versão do runtime ou um erro se algo falhar. Essa API funciona para iniciar e anexar (e até mesmo o cenário de anexação se o runtime ainda não tiver sido carregado) igualmente no xplat e no Windows. O retorno de chamada é sempre chamado em um thread separado. Essa API retorna imediatamente. O retorno de chamada é invocado quando o módulo de runtime do coreclr é carregado durante a inicialização antecipada. O runtime é bloqueado durante a inicialização até que o retorno de chamada seja retornado. Se o runtime já estiver carregado no processo (como no caso de anexação normal), o retorno de chamada será executado e o runtime não será bloqueado. O retorno de chamada é sempre invocado em um thread separado e essa API retorna imediatamente. No momento, há suporte apenas para a primeira instância do módulo coreclr encontrada no processo de destino.

Essa é a única função de registro que funciona para aplicativos de arquivo único.

Requisitos

Plataformas: Consulte sistemas operacionais com suporte do .NET.

Cabeçalho: dbgshim.h

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

Versões do .NET: Disponível desde o .NET 6.0