다음을 통해 공유


RegisterForRuntimeStartupEx 함수

지정된 프로세스에서 .NET 런타임이 시작될 때 콜백을 실행합니다.

구문

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

매개 변수

dwProcessId
진행 대상 프로세스의 프로세스 ID입니다.

lpApplicationGroupId
[in] Mac에서 실행되는 샌드박스 프로세스의 애플리케이션 그룹 ID를 나타내는 문자열입니다. 프로세스가 샌드박스 및 기타 플랫폼에서 실행되고 있지 않으면 NULL을 전달합니다.

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부터 사용 가능