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