Silverlight용 EnumerateCLRs 함수

프로세스의 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에 대한 ppHandleArrayOut pdwArrayLengthOut포인터입니다.

Return Value

S_OK 프로세스의 CLR 수가 성공적으로 결정되었으며 해당 핸들 및 경로 배열이 제대로 채워져 있습니다.

E_INVALIDARG Null ppHandleArrayOut 이거나 ppStringArrayOut null pdwArrayLengthOut 입니다.

E_OUTOFMEMORY 함수가 핸들 및 경로 배열에 충분한 메모리를 할당할 수 없습니다.

E_FAIL(또는 다른 E_ 반환 코드) 로드된 CLR을 열거할 수 없습니다.

설명

debuggeePID로 식별되는 대상 프로세스의 경우 함수에서는 프로세스에 로드된 CLR의 경로 배열 ppStringArrayOut, 같은 인덱스에서 CLR에 대한 계속-시작 이벤트가 포함될 수 있는 이벤트 핸들 배열 ppHandleArrayOut, 로드된 CLR 수를 지정하는 배열 크기 pdwArrayLengthOut을 반환합니다.

Windows 운영 체제에서 debuggeePID는 OS 프로세스 식별자에 매핑됩니다.

ppHandleArrayOutppStringArrayOut용 메모리는 이 함수를 통해 할당됩니다. 할당된 메모리를 해제하려면 CloseCLREnumeration 함수를 호출해야 합니다.

대상 프로세스의 CLR 개수를 반환하려면 null로 설정된 두 배열 매개 변수와 함께 이 함수를 호출하면 됩니다. 이 개수에서 호출자는 만들어질 버퍼 크기를 유추할 수 있습니다. (sizeof(HANDLE) * count) + (sizeof(LPWSTR) * count) + (sizeof(WCHAR*) * count * MAX_PATH).

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: dbgshim.h

라이브러리: dbgshim.dll

.NET Framework 버전: 3.5 SP1