Compartir a través de


IMetaDataDispenser::OpenScope (Método)

Abre un archivo existente en disco y asigna sus metadatos a la memoria.

Sintaxis

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

Parámetros

szScope
[in] Nombre del archivo que se va a abrir. El archivo debe contener metadatos de Common Language Runtime (CLR).

dwOpenFlags
[in] Valor de la enumeración CorOpenFlags para especificar el modo (lectura, escritura, etc.) para abrir.

riid
[in] Identificador de la interfaz de metadatos deseada que se va a devolver; el autor de la llamada usará la interfaz para importar (leer) o emitir (escribir) metadatos.

El valor de riid debe especificar una de las interfaces "import" o "emit". Los valores válidos son IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2 o IID_IMetaDataImport2.

ppIUnk
[out] Puntero de interfaz devuelta.

Comentarios

La copia en memoria de los metadatos se puede consultar mediante métodos de una de las interfaces "import" o agregarse al uso de métodos de una de las interfaces "emit".

Si el archivo de destino no contiene metadatos CLR, se producirá un error en el método OpenScope.

En .NET Framework versión 1.0 y versión 1.1, si se abre un ámbito con establecido en dwOpenFlags en ofRead, es apto para compartir. Es decir, si las llamadas posteriores para que OpenScope pase el nombre de un archivo que se abrió anteriormente, el ámbito existente se reutiliza y no se crea un nuevo conjunto de estructuras de datos. Sin embargo, pueden surgir problemas debido a este uso compartido.

En .NET Framework versión 2.0, los ámbitos abiertos con establecido en dwOpenFlags en ofRead ya no se comparten. Use el valor de ofReadOnly para permitir que el ámbito se comparta. Cuando se comparte un ámbito, se producirá un error en las consultas que usan interfaces de metadatos de "lectura y escritura".

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: Cor.h

Biblioteca: usada como recurso en MsCorEE.dll

Versiones de .NET Framework: está disponible desde la versión 1.0

Consulte también