Delen via


Methode IMetaDataDispenser::OpenScope

Hiermee opent u een bestaand bestand op schijf en wijst u de metagegevens toe aan het geheugen.

Syntaxis

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

Parameters

szScope
[in] De naam van het bestand dat moet worden geopend. Het bestand moet clr-metagegevens (Common Language Runtime) bevatten.

dwOpenFlags
[in] Een waarde van de CorOpenFlags-opsomming om de modus (lezen, schrijven, enzovoort) voor het openen op te geven.

riid
[in] De IID van de gewenste metagegevensinterface die moet worden geretourneerd; de aanroeper gebruikt de interface om metagegevens te importeren (lezen) of te verzenden (schrijven).

De waarde van riid moet een van de interfaces 'importeren' of 'verzenden' opgeven. Geldige waarden zijn IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2 of IID_IMetaDataImport2.

ppIUnk
[uit] De aanwijzer naar de geretourneerde interface.

Opmerkingen

De in-memory kopie van de metagegevens kan worden opgevraagd met behulp van methoden van een van de 'import'-interfaces, of worden toegevoegd aan het gebruik van methoden van een van de 'emit'-interfaces.

Als het doelbestand geen CLR-metagegevens bevat, mislukt de OpenScope methode.

Als in de .NET Framework versie 1.0 en versie 1.1 een bereik wordt geopend met dwOpenFlags ingesteld op ofRead, komt het in aanmerking voor delen. Dat wil dus, als volgende aanroepen om de naam van een eerder geopend bestand door te OpenScope geven, het bestaande bereik opnieuw wordt gebruikt en er geen nieuwe set gegevensstructuren wordt gemaakt. Er kunnen echter problemen ontstaan als gevolg van dit delen.

In .NET Framework versie 2.0 worden bereiken die zijn geopend met dwOpenFlags de instelling ofRead, niet meer gedeeld. Gebruik de waarde ofReadOnly om het bereik te kunnen delen. Wanneer een bereik wordt gedeeld, mislukken query's die gebruikmaken van metagegevensinterfaces voor lezen/schrijven.

Vereisten

Platforms: Zie Systeemvereisten.

Header: Cor.h

Bibliotheek: Wordt gebruikt als een resource in MsCorEE.dll

.NET Framework versies: beschikbaar sinds 1.0

Zie ook