Metodo IMetaDataDispenser::OpenScope
Apre un file su disco esistente e esegue il mapping dei metadati in memoria.
Sintassi
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 CLR (Common Language Runtime).
dwOpenFlags
[in] Valore dell'enumerazione CorOpenFlags per specificare la modalità (lettura, scrittura e così via) per l'apertura.
riid
[in] Id dell'interfaccia dei metadati desiderata da restituire; il chiamante userà l'interfaccia per importare (lettura) o generare metadati (scrittura).
Il valore di riid
deve specificare una delle interfacce "import" o "emit". I valori validi sono IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2 o IID_IMetaDataImport2.
ppIUnk
[out] Puntatore all'interfaccia restituita.
Commenti
La copia in memoria dei metadati può essere eseguita tramite query usando metodi da una delle interfacce "import" o aggiunte a usando i metodi provenienti da una delle interfacce "emetti".
Se il file di destinazione non contiene metadati CLR, il OpenScope
metodo avrà esito negativo.
In .NET Framework versione 1.0 e versione 1.1, se un ambito viene aperto con dwOpenFlags
impostato su ofRead, è idoneo per la condivisione. Ovvero, se le chiamate successive per OpenScope
passare il nome di un file aperto in precedenza, l'ambito esistente viene riutilizzato e non viene creato un nuovo set di strutture dati. Tuttavia, i problemi possono verificarsi a causa di questa condivisione.
In .NET Framework versione 2.0 gli ambiti aperti con dwOpenFlags
impostato su ofRead non sono più condivisi. Usare il valore ofReadOnly per consentire la condivisione dell'ambito. Quando un ambito è condiviso, le query che usano interfacce di metadati "lettura/scrittura" avranno esito negativo.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: Cor.h
Libreria: Usato come risorsa in MsCorEE.dll
Versioni di .NET Framework: Disponibile da 1.0