Freigeben über


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

Weitere Informationen

Imetadatadispenser