프로세스에서 CLR을 열거하는 메커니즘을 제공합니다.
문법
HRESULT EnumerateCLRs (
[in] DWORD debuggeePID,
[out] HANDLE** ppHandleArrayOut,
[out] LPWSTR** ppStringArrayOut,
[out] DWORD* pdwArrayLengthOut
);
매개 변수
debuggeePID
[in] 로드된 CLR이 열거되는 프로세스의 프로세스 식별자입니다.
ppHandleArrayOut
[out] CLR 시작을 계속하는 데 사용되는 이벤트 핸들이 포함된 배열에 대한 포인터입니다. 배열의 각 핸들이 유효하지는 않습니다. 유효한 경우 핸들은 동일한 인덱 ppStringArrayOut스의 해당 런타임에 대한 계속 시작 이벤트로 사용됩니다.
ppStringArrayOut
[out] 프로세스에 로드된 CLR의 전체 경로를 지정하는 문자열 배열에 대한 포인터입니다.
pdwArrayLengthOut
[out] 크기가 같고 길이가 같은 DWORD에 대한 ppHandleArrayOutpdwArrayLengthOut포인터입니다.
반환 값
S_OK
프로세스의 CLR 수가 성공적으로 결정되었으며 해당 핸들 및 경로 배열이 제대로 채워집니다.
E_INVALIDARG
null ppHandleArrayOut 이거나 ppStringArrayOut null pdwArrayLengthOut 이거나 null입니다.
E_OUTOFMEMORY
함수가 핸들 및 경로 배열에 충분한 메모리를 할당할 수 없습니다.
E_FAIL (또는 기타 E_ 반환 코드)
로드된 CLR을 열거할 수 없습니다.
비고
식별되는 debuggeePID대상 프로세스의 경우 함수는 경로 ppStringArrayOut배열을 프로세스에 로드된 CLR, 동일한 인덱스에 있는 CLR에 대한 계속 시작 이벤트를 포함할 수 있는 이벤트 핸들 ppHandleArrayOut배열 및 로드되는 CLR 수를 지정하는 배열의 크기를 반환합니다 pdwArrayLengthOut.
Windows 운영 체제 debuggeePID 에서 OS 프로세스 식별자에 매핑됩니다.
이 함수에 할당 ppHandleArrayOut 된 메모리입니다 ppStringArrayOut . 할당된 메모리를 해제하려면 CloseCLREnumeration 함수를 호출해야 합니다.
대상 프로세스에서 CLR 수를 반환하기 위해 두 배열 매개 변수를 모두 null로 설정하여 이 함수를 호출할 수 있습니다. 이 수에서 호출자는 만들 (sizeof(HANDLE) * count) + (sizeof(LPWSTR) * count) + (sizeof(WCHAR*) * count * MAX_PATH)버퍼의 크기를 유추할 수 있습니다.
요구 사항
플랫폼:.NET 지원 운영 체제를 참조하세요.
헤더: dbgshim.h
라이브러리: dbgshim.dll, libdbgshim.so, libdbgshim.dylib
.NET 버전: .NET Core 2.1 이후 사용 가능
.NET