ICorProfilerInfo2::GetClassIDInfo2 메서드
지정된 클래스의 공개 일반 정의에 대한 부모 모듈 및 메타데이터 토큰, 부모 클래스의 ClassID
및 클래스의 각 형식 인수(있는 경우)에 대한 ClassID
를 가져옵니다.
구문
HRESULT GetClassIDInfo2(
[in] ClassID classId,
[out] ModuleID *pModuleId,
[out] mdTypeDef *pTypeDefToken,
[out] ClassID *pParentClassId,
[in] ULONG32 cNumTypeArgs,
[out] ULONG32 *pcNumTypeArgs,
[out] ClassID typeArgs[]);
매개 변수
classId
[in] 정보가 검색되는 클래스의 ID입니다.
pModuleId
[out] 지정된 클래스의 개방형 일반 정의에 대한 부모 모듈의 ID에 대한 포인터입니다.
pTypeDefToken
[out] 지정된 클래스의 공개 일반 정의에 대한 메타데이터 토큰에 대한 포인터입니다.
pParentClassId
[out] 부모 클래스의 ID에 대한 포인터입니다.
cNumTypeArgs
[in] typeArgs
배열의 크기입니다.
pcNumTypeArgs
[out] 사용 가능한 요소의 총수에 대한 포인터입니다.
typeArgs
[out] 각각 클래스의 형식 인수 ID를 나타내는 ClassID
값의 배열입니다. 메서드가 반환되면 typeArgs
에 사용 가능한 ClassID
값이 일부 또는 모두 포함됩니다.
설명
GetClassIDInfo2
메서드는 ICorProfilerInfo::GetClassIDInfo 메서드와 비슷하지만 GetClassIDInfo2
는 제네릭 형식에 대한 추가 정보를 가져옵니다.
프로파일러 코드는 ICorProfilerInfo::GetModuleMetaData를 호출하여 지정된 모듈에 대한 메타데이터 인터페이스를 가져올 수 있습니다. 그런 다음 pTypeDefToken
에서 참조된 위치로 반환되는 메타데이터 토큰을 사용하여 클래스에 대한 메타데이터에 액세스할 수 있습니다.
GetClassIDInfo2
가 반환된 후 typeArgs
버퍼가 ClassID
값을 모두 포함할 수 있을 만큼 충분히 큰지 확인해야 합니다. 이렇게 하려면 pcNumTypeArgs
가 가리키는 값을 cNumTypeArgs
매개 변수의 값과 비교합니다. pcNumTypeArgs
이 cNumTypeArgs
보다 큰 값을 가리키는 경우 더 큰 typeArgs
버퍼를 할당하고 cNumTypeArgs
을 더 큰 새 크기로 업데이트한 후 GetClassIDInfo2
를 다시 호출합니다.
또는 길이가 0인 typeArgs
버퍼로 GetClassIDInfo2
를 먼저 호출하여 올바른 버퍼 크기를 구합니다. 그런 다음 typeArgs
버퍼 크기를 pcNumTypeArgs
에 반환된 값으로 설정하고 GetClassIDInfo2
를 다시 호출합니다.
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
헤더: CorProf.idl, CorProf.h
라이브러리: CorGuids.lib
.NET Framework 버전: 2.0부터 사용 가능
참고 항목
.NET