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