Udostępnij za pośrednictwem


IMetaDataDispenser::OpenScope — Metoda

Otwiera istniejący plik na dysku i mapuje jego metadane na pamięć.

Składnia

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

Parametry

szScope
[w] Nazwa pliku do otwarcia. Plik musi zawierać metadane środowiska uruchomieniowego języka wspólnego (CLR).

dwOpenFlags
[w] Wartość wyliczenia CorOpenFlags określająca tryb (odczyt, zapis itd.) do otwierania.

riid
[w] Identyfikator IID żądanego interfejsu metadanych do zwrócenia; obiekt wywołujący będzie używać interfejsu do importowania (odczytu) lub emitowania (zapisu) metadanych.

Wartość riid musi określać jeden z interfejsów "import" lub "emituj". Prawidłowe wartości to IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2 lub IID_IMetaDataImport2.

ppIUnk
[out] Wskaźnik do zwróconego interfejsu.

Uwagi

Kopii metadanych w pamięci można wykonywać zapytania przy użyciu metod z jednego z interfejsów "import" lub dodać je do używania metod z jednego z interfejsów "emituj".

Jeśli plik docelowy nie zawiera metadanych CLR, OpenScope metoda zakończy się niepowodzeniem.

W .NET Framework w wersji 1.0 i wersji 1.1, jeśli zakres jest otwarty z dwOpenFlags ustawionym na wartośćRead, kwalifikuje się do udostępniania. Oznacza to, że jeśli kolejne wywołania w celu OpenScope przekazania nazwy pliku, który został wcześniej otwarty, istniejący zakres zostanie ponownie użyty, a nowy zestaw struktur danych nie zostanie utworzony. Jednak problemy mogą wystąpić z powodu tego udostępniania.

W .NET Framework wersji 2.0 zakresy otwarte z ustawioną wartościąRead dwOpenFlags nie są już udostępniane. Użyj wartości elementuReadOnly, aby zezwolić na udostępnianie zakresu. Gdy zakres jest współużytkowany, zapytania korzystające z interfejsów metadanych "odczyt/zapis" kończą się niepowodzeniem.

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: Cor.h

Biblioteki: Używane jako zasób w MsCorEE.dll

wersje .NET Framework: dostępne od wersji 1.0

Zobacz też