Dela via


IMetaDataDispenser::OpenScope, metod

Öppnar en befintlig fil på disk och mappar dess metadata till minnet.

Syntax

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

Parametrar

szScope
[in] Namnet på filen som ska öppnas. Filen måste innehålla CLR-metadata (Common Language Runtime).

dwOpenFlags
[in] Ett värde för CorOpenFlags-uppräkningen för att ange läget (läsa, skriva och så vidare) för att öppna.

riid
[in] IID för det önskade metadatagränssnittet som ska returneras. anroparen använder gränssnittet för att importera (läsa) eller generera (skriva) metadata.

Värdet riid för måste ange något av gränssnitten "import" eller "emit". Giltiga värden är IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2 eller IID_IMetaDataImport2.

ppIUnk
[ut] Pekaren till det returnerade gränssnittet.

Kommentarer

Den minnesinterna kopian av metadata kan efterfrågas med hjälp av metoder från ett av "import"-gränssnitten, eller läggas till i med hjälp av metoder från ett av "emit"-gränssnitten.

Om målfilen inte innehåller CLR-metadata OpenScope misslyckas metoden.

I .NET Framework version 1.0 och version 1.1 är den berättigad till delning om ett omfång öppnas med dwOpenFlags inställt på ofRead. Om efterföljande anrop skickar OpenScope namnet på en fil som öppnades tidigare återanvänds alltså det befintliga omfånget och en ny uppsättning datastrukturer skapas inte. Problem kan dock uppstå på grund av den här delningen.

I .NET Framework version 2.0 delas inte längre omfång som har angetts dwOpenFlags till ofRead. Använd värdet ofReadOnly för att tillåta att omfånget delas. När ett omfång delas misslyckas frågor som använder metadatagränssnitt för "läsa/skriva".

Krav

Plattformar: Se Systemkrav.

Huvudet: Cor.h

Bibliotek: Används som en resurs i MsCorEE.dll

.NET Framework versioner: Tillgänglig sedan 1.0

Se även