IMetaDataDispenser::OpenScope 메서드
디스크에 있는 기존 파일을 열고 해당 메타데이터를 메모리에 매핑합니다.
구문
HRESULT OpenScope (
[in] LPCWSTR szScope,
[in] DWORD dwOpenFlags,
[in] REFIID riid,
[out] IUnknown **ppIUnk
);
매개 변수
szScope
[in] 열려는 파일의 이름입니다. 파일에는 CLR(공용 언어 런타임) 메타데이터가 포함되어야 합니다.
dwOpenFlags
[in] 열기 모드(읽기, 쓰기 등)를 지정하기 위한 CorOpenFlags 열거형 값입니다.
riid
[in] 반환될 원하는 메타데이터 인터페이스의 IID입니다. 호출자는 인터페이스를 사용하여 메타데이터를 가져오거나(읽기) 방출(쓰기)합니다.
riid
값은 "가져오기" 또는 "내보내기" 인터페이스 중 하나를 지정해야 합니다. 유효한 값은 IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2 또는 IID_IMetaDataImport2입니다.
ppIUnk
[out] 반환된 인터페이스에 대한 포인터입니다.
설명
메타데이터의 메모리 내 복사본은 "가져오기" 인터페이스 중 하나의 메서드를 사용하여 쿼리하거나 "내보내기" 인터페이스 중 하나의 메서드를 사용하여 추가할 수 있습니다.
대상 파일에 CLR 메타데이터가 포함되어 있지 않으면 OpenScope
메서드가 실패합니다.
.NET Framework 버전 1.0 및 버전 1.1에서 dwOpenFlags
를 ofRead로 설정하여 범위를 열면 공유할 수 있습니다. 즉, OpenScope
에 대한 후속 호출이 이전에 열린 파일의 이름을 전달하면 기존 범위가 재사용되고 새로운 데이터 구조 집합이 만들어지지 않습니다. 그러나 이러한 공유로 인해 문제가 발생할 수 있습니다.
.NET Framework 버전 2.0에서 dwOpenFlags
를 ofRead로 설정하여 열린 범위는 더 이상 공유되지 않습니다. 범위 공유를 허용하려면 ofReadOnly 값을 사용합니다. 범위가 공유되면 "읽기/쓰기" 메타데이터 인터페이스를 사용하는 쿼리가 실패합니다.
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
헤더: Cor.h
라이브러리: MsCorEE.dll에서 리소스로 사용됩니다.
.NET Framework 버전: 1.0부터 사용 가능
참고 항목
.NET