ICorProfilerInfo::GetModuleInfo 메서드

모듈 ID가 지정된 경우 모듈의 파일 이름 및 모듈의 부모 어셈블리 ID를 반환합니다.

구문

HRESULT GetModuleInfo(  
    [in]  ModuleID   moduleId,  
    [out] LPCBYTE    *ppBaseLoadAddress,  
    [in]  ULONG      cchName,  
    [out] ULONG      *pcchName,  
    [out, size_is(cchName), length_is(*pcchName)]  
          WCHAR      szName[] ,  
    [out] AssemblyID *pAssemblyId);  

매개 변수

moduleId
[in] 정보가 검색되는 모듈의 ID입니다.

ppBaseLoadAddress
[out] 모듈이 로드되는 기본 주소입니다.

cchName
[in] szName 반환 버퍼의 길이(문자)입니다.

pcchName
[out] 반환되는 모듈 파일 이름의 총 문자 길이에 대한 포인터입니다.

szName
[out] 호출자가 제공한 와이드 문자 버퍼입니다. 메서드가 반환되면 이 버퍼에 모듈의 파일 이름이 포함됩니다.

pAssemblyId
[out] 모듈의 부모 어셈블리 ID에 대한 포인터입니다.

설명

동적 모듈의 경우 szName 매개 변수는 빈 문자열이고 기본 주소는 0입니다.

모듈 ID가 있으면 즉시 GetModuleInfo 메서드가 호출될 수 있지만 프로파일러가 ICorProfilerCallback::ModuleAttachedToAssembly 콜백을 수신할 때까지 부모 어셈블리의 ID를 사용할 수 없습니다.

GetModuleInfo가 반환된 후 szName 버퍼가 모듈의 전체 파일 이름을 포함하기에 충분히 큰지 확인해야 합니다. 이렇게 하려면 pcchName가 가리키는 값을 cchName 매개 변수의 값과 비교합니다. pcchNamecchName보다 큰 값을 가리키는 경우 더 큰 szName 버퍼를 할당하고 cchName을 더 큰 새 크기로 업데이트한 후 GetModuleInfo를 다시 호출합니다.

또는 길이가 0인 szName 버퍼로 GetModuleInfo를 먼저 호출하여 올바른 버퍼 크기를 구합니다. 그런 다음 버퍼 크기를 pcchName에 반환된 값으로 설정하고 GetModuleInfo을 다시 호출합니다.

요구 사항

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

헤더: CorProf.idl, CorProf.h

라이브러리: CorGuids.lib

.NET Framework 버전: 2.0부터 사용 가능

참고 항목