Compartir a través de


IMetaDataDispenser::OpenScope (Método)

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

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 que especifica el modo de apertura (lectura, escritura, etc.).

  • riid
    [in] IID de la interfaz de metadatos que se va a devolver; el llamador utilizará la interfaz para importar (lectura) o emitir (escritura) metadatos.

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

  • ppIUnk
    [out] Puntero a la interfaz devuelta.

Comentarios

La copia en la memoria de los metadatos se puede consultar mediante los métodos de una de las interfaces para "importar" o se puede agregar con métodos de una de las interfaces para "emitir".

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

En las versiones 1.0 y 1.1 de .NET Framework, si un ámbito se abre con dwOpenFlags establecido en ofRead, es apto para el uso compartido. Es decir, si las llamadas subsiguientes a OpenScope pasan el nombre de un archivo que se abrió anteriormente, se volverá a utilizar el ámbito existente y no se creará un conjunto nuevo de estructuras de datos. Sin embargo, este uso compartido puede causar problemas.

En la versión 2.0 de .NET Framework, los ámbitos abiertos con dwOpenFlags establecido en ofRead ya no se comparten. Utilice el valor ofReadOnly para permitir que se comparta el ámbito. Si se comparte un ámbito, las consultas que utilicen interfaces de metadatos de "lectura/escritura" generarán un error.

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: Cor.h

Biblioteca: se usa como recurso en MsCorEE.dll

Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Vea también

Referencia

IMetaDataDispenser (Interfaz)

IMetaDataDispenserEx (Interfaz)

IMetaDataAssemblyEmit (Interfaz)

IMetaDataAssemblyImport (Interfaz)

IMetaDataEmit (Interfaz)

IMetaDataEmit2 (Interfaz)

IMetaDataImport (Interfaz)

IMetaDataImport2 (Interfaz)