Condividi tramite


Metodo IMetaDataDispenser::OpenScope

Apre un file su disco esistente ed esegue il mapping dei relativi metadati in memoria.

HRESULT OpenScope (
    [in]  LPCWSTR     szScope, 
    [in]  DWORD       dwOpenFlags, 
    [in]  REFIID      riid, 
    [out] IUnknown    **ppIUnk
);

Parametri

  • szScope
    [in] Nome del file da aprire. Il file deve contenere metadati di Common Language Runtime.

  • dwOpenFlags
    [in] Valore dell'enumerazione CorOpenFlags per specificare la modalità (lettura, scrittura e così via) di apertura.

  • riid
    [in] IID dell'interfaccia dei metadati desiderata da restituire. Il chiamante utilizzerà l'interfaccia per importare (leggere) o generare (scrivere) i metadati.

    Il valore di riid deve specificare una delle interfacce di "importazione" o "generazione". I valori validi sono IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2 e IID_IMetaDataImport2.

  • ppIUnk
    [out] Puntatore all'interfaccia restituita.

Note

La copia in memoria dei metadati può essere sottoposta a query utilizzando i metodi di una delle interfacce di "importazione" oppure essere aggiunta utilizzando i metodi di una delle interfacce di "generazione".

Se nel file di destinazione non sono contenuti metadati di Common Language Runtime, il metodo OpenScope avrà esito negativo.

In .NET Framework versioni 1.0 e 1.1, se un ambito viene aperto con dwOpenFlags impostato su ofRead, è utilizzabile per la condivisione. In altri termini, se chiamate successive a OpenScope passano il nome di un file aperto in precedenza, l'ambito esistente viene riutilizzato e non viene creato un nuovo set di strutture dati. Possono comunque verificarsi problemi a seguito della condivisione.

In .NET Framework versione 2.0 gli ambiti aperti con dwOpenFlags impostato su ofRead non sono più condivisi. Utilizzare il valore ofReadOnly per consentire la condivisione dell'ambito. Quando un ambito è condiviso, le query che utilizzano interfacce dei metadati di "lettura/scrittura" avranno esito negativo.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: Cor.h

Libreria: utilizzata come risorsa in MsCorEE.dll

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Vedere anche

Riferimenti

Interfaccia IMetaDataDispenser

Interfaccia IMetaDataDispenserEx

Interfaccia IMetaDataAssemblyEmit

Interfaccia IMetaDataAssemblyImport

Interfaccia IMetaDataEmit

Interfaccia IMetaDataEmit2

Interfaccia IMetaDataImport

Interfaccia IMetaDataImport2