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