업데이트: 2007년 11월
메타데이터를 사용하면 런타임 형식(클래스, 인터페이스 및 값 형식), 필드 및 메서드를 기술할 수 있을 뿐 아니라 CLR(공용 언어 런타임)에서 MSIL(Microsoft Intermediate Language)을 JIT 컴파일하고, 클래스를 로드하고, 코드를 실행하고, COM 고유의 기술과 상호 작용하는 데 사용되는 내부 구현 및 레이아웃 정보도 기술할 수 있습니다. 메타데이터는 모든 CLR 구성 요소에 포함되며 런타임, 도구 및 서비스에서 사용할 수 있습니다.
모든 메타데이터 조작 작업은 메타데이터 API를 통해 수행됩니다. 메타데이터 API는 클라이언트(도구 및 서비스)를 내부 데이터 구조로부터 격리시키며, 런타임 이진 표현, COM 기본 형식 라이브러리 및 기타 형식과 메모리 간의 투명한 전송을 가능하게 하는 플러그형 지속성 형식 아키텍처를 사용할 수 있도록 합니다.
메타데이터 API에는 메타데이터 내보내기(생성) 및 가져오기를 수행하는 인터페이스가 포함되어 있습니다. 클라이언트에서는 다음 방법으로 메타데이터를 내보내거나 가져올 수 있습니다.
컴파일러 및 도구에서 "내보내기" API를 호출하여 메타데이터를 내보냅니다. 메타데이터는 컴파일 및 연결 프로세스 도중에 내보내집니다. RAD 도구에서는 구성 요소나 응용 프로그램을 빌드하는 과정에서 메타데이터를 내보냅니다. 이 API 멤버는 메모리 내 데이터 구조에 대한 쓰기 및 읽기 작업을 수행합니다. 저장 시 이러한 메모리 내 구조는 압축된 후 대상 컴파일 단위(.obj 파일), 실행 파일(.exe 파일) 또는 독립 실행형 메타데이터 이진 파일에 이진 형식으로 저장됩니다. 여러 개의 컴파일 단위가 연결되어 EXE나 DLL을 구성하는 경우 "내보내기" API 멤버는 각 컴파일 단위의 메타데이터 섹션을 하나의 통합된 메타데이터 이진 파일에 병합하는 메서드를 제공합니다.
로더와 그 밖의 런타임 도구 및 서비스에서는 로드 및 활성화와 같은 작업을 완료할 수 있도록 "가져오기" API 멤버를 호출하여 구성 요소에 대한 정보를 가져오는 방법으로 메타데이터를 가져옵니다.
단원 내용
메타데이터 API 개요
메타데이터 API에 대한 일반적인 정보를 제공합니다.메타데이터 토큰 개요
추상화를 식별하는 데 사용되는 메타데이터 토큰에 대한 정보를 제공합니다.메타데이터 API의 코딩 규칙
메타데이터 API에 사용되는 코딩 규칙을 설명합니다.메타데이터 API 및 토큰 사용
메타데이터 API를 사용할 클라이언트에 대한 정보를 제공하고 각 클라이언트에서 메타데이터 API를 사용하는 방식을 설명합니다.