다음을 통해 공유


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 매개 변수의 값과 비교합니다. pcchName이 cchName보다 큰 값을 가리키면 더 큰 szName 버퍼를 할당하고 더 큰 새 값으로 cchName을 업데이트한 다음 다시 GetModuleInfo를 호출합니다.

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

이러한 두 접근 방식에 대한 자세한 내용은 호출자 할당 버퍼를 참조하십시오.

요구 사항

플랫폼: .NET Framework 시스템 요구 사항 참조

헤더: CorProf.idl, CorProf.h

라이브러리: CorGuids.lib

.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

참고 항목

참조

ICorProfilerInfo 인터페이스

기타 리소스

프로파일링 인터페이스

프로파일링(관리되지 않는 API 참조)

ICorProfilerInfo3::GetModuleInfo2 메서드