Sdílet prostřednictvím


IMetaDataDispenser::OpenScope – metoda

Otevře existující soubor na disku a namapuje jeho metadata do paměti.

Syntaxe

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

Parametry

szScope
[v] Název souboru, který se má otevřít. Soubor musí obsahovat metadata modulu CLR (Common Language Runtime).

dwOpenFlags
[v] Hodnota CorOpenFlags výčtu určit režim (čtení, zápis atd.) pro otevření.

riid
[v] ID požadovaného rozhraní metadat, které má být vráceno; volající použije rozhraní k importu (čtení) nebo generování (zápisu) metadat.

Hodnota riid musí určovat jedno z rozhraní "import" nebo "emit". Platné hodnoty jsou IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2 nebo IID_IMetaDataImport2.

ppIUnk
[out] Ukazatel na vrácené rozhraní.

Poznámky

Kopii metadat v paměti lze dotazovat pomocí metod z některého z rozhraní "import" nebo přidat do metody using z jednoho z rozhraní "emit".

Pokud cílový soubor neobsahuje metadata CLR, OpenScope metoda selže.

V rozhraní .NET Framework verze 1.0 a 1.1, pokud je obor otevřen s nastavenou dwOpenFlags na HodnotuRead, je způsobilý ke sdílení. To znamená, že pokud následná volání předávají OpenScope název souboru, který byl dříve otevřen, existující obor se znovu použije a nová sada datových struktur se nevytvořila. Kvůli tomuto sdílení však může dojít k problémům.

V rozhraní .NET Framework verze 2.0 se obory otevřené s nastavenou dwOpenFlags na Hodnotu Read již nesdílejí. Pokud chcete povolit sdílení oboru, použijte hodnotu ofReadOnly. Pokud je obor sdílený, dotazy, které používají rozhraní metadat pro čtení a zápis, selžou.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: Cor.h

Knihovny: Používá se jako prostředek v MsCorEE.dll

Verze rozhraní .NET Framework: K dispozici od verze 1.0

Viz také