다음을 통해 공유


IMetaDataDispenserEx::SetOption 메서드

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

구문

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

매개 변수

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

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

설명

다음 표에는 optionId 매개 변수가 가리킬 수 있는 사용 가능한 GUID와 pValue 매개 변수에 해당하는 유효한 값이 나열되어 있습니다.

GUID 설명 pValue 매개 변수
MetaDataCheckDuplicatesFor 중복 여부를 확인할 항목을 제어합니다. 새 항목을 만드는 IMetaDataEmit 메서드를 호출할 때마다 해당 항목이 현재 범위에 이미 존재하는지 확인하도록 메서드에 요청할 수 있습니다. 예를 들어, mdMethodDef 항목이 있는지 확인할 수 있습니다. 이 경우 IMetaDataEmit::DefineMethod를 호출하면 메서드가 현재 범위에 이미 존재하지 않는지 확인합니다. 이 검사는 부모 형식, 이름 및 서명과 같이 지정된 메서드를 고유하게 식별하는 키를 사용합니다. UI4 형식의 변형이어야 하며 CorCheckDuplicatesFor 열거형 값의 조합을 포함해야 합니다.
MetaDataRefToDefCheck 정의로 변환되는 참조 항목을 제어합니다. 기본적으로 메타데이터 엔진은 참조된 항목이 현재 범위에서 실제로 정의된 경우 참조된 항목을 해당 정의로 변환하여 코드를 최적화합니다. UI4 형식의 변형이어야 하며 CorRefToDefCheck 열거형 값의 조합을 포함해야 합니다.
MetaDataNotificationForTokenMovement 메타데이터 병합 중에 발생하는 토큰 다시 매핑이 콜백을 생성하는지 제어합니다. IMetaDataEmit::SetHandler 메서드를 사용하여 IMapToken 인터페이스를 설정합니다. UI4 형식의 변형이어야 하며 CorNotificationForTokenMovement 열거형 값의 조합을 포함해야 합니다.
MetaDataSetENC ENC(편집 및 계속)의 동작을 제어합니다. 한 번에 하나의 동작 모드만 설정할 수 있습니다. UI4 형식의 변형이어야 하며 CorSetENC 열거형 값을 포함해야 합니다. 값이 비트마스크가 아닙니다.
MetaDataErrorIfEmitOutOfOrder 콜백을 생성하는 순서를 벗어난 오류를 제어합니다. 메타데이터를 순서대로 내보내는 것은 치명적이지 않습니다. 그러나 메타데이터 엔진에서 선호하는 순서로 메타데이터를 내보내면 메타데이터가 더 압축되므로 더 효율적으로 검색할 수 있습니다. IMetaDataEmit::SetHandler 메서드를 사용하여 IMetaDataError 인터페이스를 설정합니다. UI4 형식의 변형이어야 하며 CorErrorIfEmitOutOfOrder 열거형 값의 조합을 포함해야 합니다.
MetaDataImportOption 열거자가 검색하는 ENC 중에 삭제된 항목 종류를 제어합니다. UI4 형식의 변형이어야 하며 CorImportOptions 열거형 열거형 값의 조합을 포함해야 합니다.
MetaDataThreadSafetyOptions 메타데이터 엔진이 읽기 권한자/라이터 잠금을 획득하여 스레드 보안성을 보장하는지 여부를 제어합니다. 기본적으로 엔진은 호출자가 단일 스레드로 액세스하는 것으로 가정하므로 잠금이 획득되지 않습니다. 클라이언트는 메타데이터 API를 사용할 때 적절한 스레드 동기화를 유지할 책임이 있습니다. UI4 형식의 변형이어야 하며 CorThreadSafetyOptions 열거형 값을 포함해야 합니다. 값이 비트마스크가 아닙니다.
MetaDataGenerateTCEAdapters 형식 라이브러리 가져오기 도구가 COM 연결점 컨테이너에 대해 TCE(긴밀하게 결합된 이벤트) 어댑터를 생성해야 하는지 여부를 제어합니다. BOOL 형식의 변형이어야 합니다. pValuetrue로 설정되면 형식 라이브러리 가져오기가 TCE 어댑터를 생성합니다.
MetaDataTypeLibImportNamespace 가져오는 형식 라이브러리에 대해 기본이 아닌 네임스페이스를 지정합니다. null 값이거나 BSTR 형식의 변형이어야 합니다. pValue가 null 값이면 현재 네임스페이스가 null로 설정됩니다. 그렇지 않으면 현재 네임스페이스가 변형의 BSTR 형식에 포함된 문자열로 설정됩니다.
MetaDataLinkerOptions 링커가 어셈블리 또는 .NET Framework 모듈 파일을 생성해야 하는지 여부를 제어합니다. UI4 형식의 변형이어야 하며 CorLinkerOptions 열거형 값의 조합을 포함해야 합니다.
MetaDataRuntimeVersion 이 이미지가 빌드된 공용 언어 런타임의 버전을 지정합니다. 버전은 "v1.0.3705"와 같은 문자열로 저장됩니다. null 값, VT_EMPTY 값 또는 BSTR 형식의 변형이어야 합니다. pValue가 null이면 런타임 버전이 null로 설정됩니다. pValue가 VT_EMPTY인 경우 버전은 메타데이터 코드가 실행 중인 Mscorwks.dll 버전에서 가져온 기본값으로 설정됩니다. 그렇지 않으면 런타임 버전이 변형의 BSTR 형식에 포함된 문자열로 설정됩니다.
MetaDataMergerOptions 메타데이터 병합 옵션을 지정합니다. UI4 형식의 변형이어야 하며 CorHdr.h 파일에 설명된 MergeFlags 열거형 값의 조합을 포함해야 합니다.
MetaDataPreserveLocalRefs 정의에 대한 로컬 참조 최적화를 사용하지 않도록 설정합니다. CorLocalRefPreservation 열거형 값의 조합을 포함해야 합니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: Cor.h

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

.NET Framework 버전: 1.0부터 사용 가능

참고 항목