다음을 통해 공유


IMetaDataDispenserEx::SetOption 메서드

업데이트: 2007년 11월

지정된 옵션을 현재 메타데이터 범위의 특정 값으로 설정합니다. 옵션은 현재 메타데이터 범위에 대한 호출의 처리 방식을 제어합니다.

HRESULT SetOption (
    [in] REFGUID optionId, 
    [in] const VARIANT *pValue
);

매개 변수

  • optionId
    [in] 설정할 옵션을 지정하는 GUID에 대한 포인터입니다.

  • pValue
    [in] 옵션을 설정하는 데 사용할 값입니다. 이 값은 지정된 옵션 형식의 variant 형식이어야 합니다.

설명

다음 표에서는 optionId 매개 변수가 가리킬 수 있는 사용 가능한 GUID와 이에 해당하는 pValue 매개 변수에 사용할 수 있는 값을 보여 줍니다.

GUID

옵션

pValue 매개 변수

MetaDataCheckDuplicatesFor

중복 검사. 중복 여부를 검사할 항목과 검서하지 않을 항목을 제어합니다. 즉, 새 항목을 만드는 IMetaDataEmit 메서드를 호출할 때마다 해당 메서드에서 해당 항목이 현재 범위에 이미 있는지 여부를 검사하도록 할 수 있습니다. 예를 들어 mdMethodDef 항목을 검사하도록 할 수 있습니다. 이 경우 IMetaDataEmit::DefineMethod를 호출하면 현재 범위에 해당 메서드가 없는지 검사합니다. 이 검사에서는 지정된 메서드를 고유하게 식별하는 키, 즉 부모 형식, 이름 및 시그니처를 사용합니다.

UI4 형식의 variant여야 하며 CorCheckDuplicatesFor 열거형의 값 조합을 포함해야 합니다.

MetaDataRefToDefCheck

참조에서 정의로 변환 최적화. 어떤 참조된 항목을 정의로 변환할지 제어합니다. 기본적으로 메타데이터 엔진에서는 참조된 항목이 현재 범위에 실제로 정의되어 있는 경우 참조된 항목을 해당 정의로 변환하여 코드를 최적화합니다.

UI4 형식의 variant여야 하며 CorRefToDefCheck 열거형의 값 조합을 포함해야 합니다.

MetaDataNotificationForTokenMovement

토큰 이동 시 알림. 메카데이터 병합 중 토큰 재매핑이 발생할 경우 콜백을 생성할 토큰 재매핑을 제어합니다. IMetaDataEmit::SetHandler 메서드를 사용하여 사용자의 IMapToken 인터페이스를 설정합니다.

UI4 형식의 variant여야 하며 CorNotificationForTokenMovement 열거형의 값 조합을 포함해야 합니다.

MetaDataSetENC

ENC 모드. ENC(편집하며 계속하기) 동작을 제어합니다. 한 번에 하나의 동작 모드만 설정할 수 있습니다.

UI4 형식의 variant여야 하며 CorSetENC 열거형의 값을 포함해야 합니다. 이 값은 비트마스크가 아닙니다.

MetaDataErrorIfEmitOutOfOrder

순서에 관계없이 내보내기. 콜백을 생성하는 "순서에 관계없이 내보낸" 오류를 제어합니다. 메타데이터를 순서에 관계없이 내보내도 큰 문제가 되지 않지만 메타데이터 엔진에 적합한 순서로 내보내면 메타데이터가 보다 간결해지므로 검색을 보다 효율적으로 할 수 있습니다. IMetaDataEmit::SetHandler 메서드를 사용하여 사용자의 IMetaDataError 인터페이스를 설정합니다.

UI4 형식의 variant여야 하며 CorErrorIfEmitOutOfOrder 열거형의 값 조합을 포함해야 합니다.

MetaDataImportOption

가져오기 옵션. 열거자가 ENC 도중 삭제된 항목 중 어떤 종류의 항목을 검색할지 제어합니다.

UI4, 형식의 variant여야 하며 CorImportOptions 열거형의 값 조합을 포함해야 합니다.

MetaDataThreadSafetyOptions

스레드로부터의 안전성 옵션. 메타데이터 엔진에서 스레드로부터의 안전성을 위해 판독기/작성기를 잠글 수 있는지 여부를 제어합니다. 기본적으로 메타데이터 엔진에서는 액세스가 호출자에 의해 단일 스레드로 이루어지고 잠금은 허용되지 않는 것으로 가정합니다. 클라이언트에서는 메타데이터 API를 사용할 때 올바른 스레드 동기화 상태를 유지해야 합니다.

UI4 형식의 variant여야 하며 CorThreadSafetyOptions 열거형의 값을 포함해야 합니다. 이 값은 비트마스크가 아닙니다.

MetaDataGenerateTCEAdapters.

TCE 어댑터 생성. 형식 라이브러리 가져오기에서 COM 연결 지점 컨테이너에 대한 TCE(밀접하게 결합된 이벤트) 어댑터를 생성할지 여부를 제어합니다.

BOOL 형식의 variant여야 합니다. pValue가 true로 설정되면 형식 라이브러리 가져오기에서 TCE 어댑터를 생성합니다.

MetaDataTypeLibImportNamespace

네임스페이스. 가져올 형식 라이브러리에 대해 기본값이 아닌 네임스페이스를 지정합니다.

null 값이거나 BSTR 형식의 variant여야 합니다. pValue가 null 값이면 현재 네임스페이스가 null로 설정되고, 그렇지 않으면 현재 네임스페이스는 해당 variant의 BSTR 형식에 저장된 문자열로 설정됩니다.

MetaDataLinkerOptions

링커 옵션. 링커에서 어셈블리 또는 .NET 모듈 파일을 생성할지 여부를 제어합니다.

UI4 형식의 variant여야 하며 CorLinkerOptions 열거형의 값 조합을 포함해야 합니다.

MetaDataRuntimeVersion

런타임 버전. 이 이미지가 빌드된 대상 공용 언어 런타임 버전을 지정합니다. 버전은 "v1.0.3705"와 같은 문자열로 저장됩니다.

null 값, VT_EMPTY 값 또는 BSTR 형식의 variant여야 합니다. pValue가 null이면 런타임 버전이 null로 설정되고, pValue가 VT_EMPTY이면 버전이 기본값으로 설정됩니다. 기본 버전은 메타데이터 코드가 실행되고 있는 Mscorwks.dll의 버전에서 가져옵니다. 그 밖의 경우 런타임 버전은 variant의 BSTR 형식에 저장된 문자열로 설정됩니다.

요구 사항

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

헤더: Cor.h

라이브러리: MsCorEE.dll에서 리소스로 사용됨

.NET Framework 버전: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

참고 항목

참조

IMetaDataDispenserEx

IMetaDataDispenser