Share via


IMetaDataDispenserEx::SetOption-Methode

Legt die angegebene Option auf einen bestimmten Wert für den aktuellen Metadatenbereich fest. Die Option steuert, wie Aufrufe des aktuellen Metadatenbereichs verarbeitet werden.

Syntax

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

Parameter

optionId
[in] Ein Zeiger auf eine GUID, die die festzulegende Option angibt.

pValue
[in] Der Wert, der zum Festlegen der Option verwendet werden soll. Der Typ dieses Werts muss eine Variante des Typs der angegebenen Option sein.

Bemerkungen

In der folgenden Tabelle sind die verfügbaren GUIDs aufgeführt, auf die der optionId-Parameter verweisen kann, und die entsprechenden gültigen Werte für den pValue-Parameter.

GUID Beschreibung pValue Parameter
MetaDataCheckDuplicatesFor Steuert, welche Elemente auf Duplikate überprüft werden. Jedes Mal, wenn Sie eine IMetaDataEmit-Methode aufrufen, die ein neues Element erstellt, können Sie die Methode auffordern, zu überprüfen, ob das Element bereits im aktuellen Bereich vorhanden ist. Sie können beispielsweise überprüfen, ob mdMethodDef-Elemente vorhanden sind. In diesem Fall wird beim Aufrufen von IMetaDataEmit::DefineMethod überprüft, ob die Methode noch nicht im aktuellen Bereich vorhanden ist. Bei dieser Überprüfung wird der Schlüssel verwendet, der eine bestimmte Methode eindeutig identifiziert: übergeordneter Typ, Name und Signatur. Muss eine Variante vom Typ UI4 sein und eine Kombination der Werte der CorCheckDuplicatesFor-Enumeration enthalten.
MetaDataRefToDefCheck Steuert, welche Elemente, auf die verwiesen wird, in Definitionen konvertiert werden. Standardmäßig optimiert die Metadaten-Engine den Code, indem ein Element, auf das verwiesen wird, in seine Definition konvertiert wird, wenn dieses Element tatsächlich im aktuellen Bereich definiert ist. Muss eine Variante vom Typ UI4 sein und eine Kombination der Werte der CorRefToDefCheck-Enumeration enthalten.
MetaDataNotificationForTokenMovement Steuert, welche Neuzuordnungen von Token, die während einer Metadatenzusammenführung auftreten, Rückrufe generieren. Verwenden Sie die IMetaDataEmit::SetHandler-Methode, um Ihre IMapToken-Schnittstelle einzurichten. Muss eine Variante vom Typ UI4 sein und eine Kombination der Werte der CorNotificationForTokenMovement-Enumeration enthalten.
MetaDataSetENC Steuert das Verhalten von „Bearbeiten und Fortfahren“ (Edit-and-Continue, ENC). Es kann jeweils nur ein Verhaltensmodus festgelegt werden. Muss eine Variante vom Typ UI4 sein und einen Wert der CorSetENC-Enumeration enthalten. Der Wert ist keine Bitmaske.
MetaDataErrorIfEmitOutOfOrder Steuert, welche Fehler, die aufgrund einer fehlerhaften Reihenfolge ausgegeben werden, Rückrufe generieren. Die Ausgabe von Metadaten in falscher Reihenfolge ist kein schwerwiegender Fehler. Wenn Sie jedoch Metadaten in einer von der Metadaten-Engine bevorzugten Reihenfolge ausgeben, sind sie kompakter und können daher effizienter durchsucht werden. Verwenden Sie die IMetaDataEmit::SetHandler-Methode, um Ihre IMetaDataError-Schnittstelle einzurichten. Muss eine Variante vom Typ UI4 sein und eine Kombination der Werte der CorErrorIfEmitOutOfOrder-Enumeration enthalten.
MetaDataImportOption Steuert, welche Arten von Elementen, die während einer ENC gelöscht wurden, von einem Enumerator abgerufen werden. Muss eine Variante vom Typ UI4 sein und eine Kombination der Werte der CorImportOptions-Enumeration enthalten.
MetaDataThreadSafetyOptions Steuert, ob die Metadaten-Engine Lese-/Schreibsperren abruft, wodurch die Threadsicherheit gewährleistet wird. Standardmäßig geht die Engine davon aus, dass der Zugriff durch den Aufrufer in einem einzelnen Thread erfolgt, sodass keine Sperren abgerufen werden. Clients sind für die ordnungsgemäße Threadsynchronisierung bei Verwendung der Metadaten-API verantwortlich. Muss eine Variante vom Typ UI4 sein und einen Wert der CorThreadSafetyOptions-Enumeration enthalten. Der Wert ist keine Bitmaske.
MetaDataGenerateTCEAdapters Steuert, ob der Typbibliothekimporter die TCE-Adapter (Tightly Coupled Event, eng gekoppeltes Ereignis) für COM-Verbindungspunktcontainer generieren soll. Muss eine Variante vom Typ BOOL sein. Wenn pValue auf true festgelegt ist, generiert der Typbibliothekimporter die TCE-Adapter.
MetaDataTypeLibImportNamespace Gibt einen nicht standardmäßigen Namespace für die Typbibliothek an, die importiert wird. Muss entweder ein NULL-Wert oder eine Variante vom Typ BSTR sein. Wenn pValue ein NULL-Wert ist, wird der aktuelle Namespace auf NULL festgelegt. Andernfalls wird der aktuelle Namespace auf die Zeichenfolge festgelegt, die im BSTR-Typ der Variante enthalten ist.
MetaDataLinkerOptions Steuert, ob der Linker eine Assembly oder eine .NET Framework-Moduldatei generieren soll. Muss eine Variante vom Typ UI4 sein und eine Kombination der Werte der CorLinkerOptions-Enumeration enthalten.
MetaDataRuntimeVersion Gibt die Version der Common Language Runtime an, für die dieses Image erstellt wurde. Die Version wird als Zeichenfolge gespeichert, z. B. „v1.0.3705“. Muss ein NULL-Wert, ein VT_EMPTY-Wert oder eine Variante vom Typ BSTR sein. Wenn pValue NULL ist, wird die Laufzeitversion auf NULL festgelegt. Wenn pValue den Wert VT_EMPTY aufweist, wird die Version auf einen Standardwert festgelegt, der sich aus der Version der Datei „Mscorwks.dll“ ergibt, in der der Metadatencode ausgeführt wird. Andernfalls wird die Laufzeitversion auf die Zeichenfolge festgelegt, die im BSTR-Typ der Variante enthalten ist.
MetaDataMergerOptions Gibt Optionen für das Zusammenführen von Metadaten an. Muss eine Variante vom Typ UI4 sein und eine Kombination der Werte der MergeFlags-Enumeration enthalten, die in der Datei „CorHdr.h“ beschrieben ist.
MetaDataPreserveLocalRefs Deaktiviert das Optimieren lokaler Verweise in Definitionen. Muss eine Kombination der Werte der CorLocalRefPreservation-Enumeration enthalten.

Anforderungen

Plattform: Informationen finden Sie unter Systemanforderungen.

Header: Cor.h

Bibliothek: Als Ressource in „MsCorEE.dll“ verwendet

.NET Framework-Versionen: Seit Version 1.0 verfügbar

Siehe auch