IMetaDataDispenser::OpenScopeOnMemory-Methode (rometadataapi.h)
Öffnet einen Arbeitsspeicherbereich, der vorhandene Metadaten enthält. Das heißt, diese Methode öffnet einen angegebenen Arbeitsspeicherbereich, in dem die vorhandenen Daten als Metadaten behandelt werden.
Syntax
HRESULT OpenScopeOnMemory(
[in] const BYTE *pData,
[in] ULONG cbData,
[in] DWORD dwOpenFlags,
[in] REFIID riid,
[out] IUnknown **ppIUnk
);
Parameter
[in] pData
Ein Zeiger, der die Startadresse des Speicherbereichs angibt.
[in] cbData
Die Größe des Arbeitsspeicherbereichs in Bytes.
[in] dwOpenFlags
Ein Wert der CorOpenFlags-Enumeration , um den Modus (Lese-, Schreibmodus usw.) für das Öffnen anzugeben.
[in] riid
Die IID der gewünschten Metadatenschnittstelle, die zurückgegeben werden soll; Der Aufrufer verwendet die Schnittstelle zum Importieren (Lesen) oder Ausgeben (Schreiben) von Metadaten.
Der Wert von riid muss eine der Schnittstellen "import" oder "emit" angeben. Gültige Werte sind IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2 oder IID_IMetaDataImport2.
[out] ppIUnk
Der Zeiger auf die zurückgegebene Schnittstelle.
Rückgabewert
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Bemerkungen
Die In-Memory-Kopie der Metadaten kann mit den Methoden einer der Import-Schnittstellen abgefragt oder mit den Methoden einer der Emit-Schnittstellen ergänzt werden.
Die OpenScopeOnMemory-Methode ähnelt der OpenScope-Methode , mit dem Unterschied, dass die relevanten Metadaten bereits im Arbeitsspeicher und nicht in einer Datei auf dem Datenträger vorhanden sind.
Wenn der Zielbereich des Arbeitsspeichers keine CLR-Metadaten (Common Language Runtime) enthält, schlägt die OpenScopeOnMemory-Methode fehl.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | rometadataapi.h |