Udostępnij za pośrednictwem


IHostAssemblyStore::ProvideModule — Metoda

Rozwiązuje moduł w zestawie lub połączonym (ale nie osadzonym) pliku zasobów.

Składnia

HRESULT ProvideModule (  
    [in]  ModuleBindInfo *pBindInfo,  
    [out] DWORD          *pdwModuleId,  
    [out] IStream        **ppStmModuleImage,  
    [out] IStream        **ppStmPDB  
);  

Parametry

pBindInfo
[in] Wskaźnik do wystąpienia ModuleBindInfo , który opisuje żądaną nazwę modułu AppDomain, zestawu i modułu.

pdwModuleId
[out] Wskaźnik do unikatowego identyfikatora IStream zawierającego załadowany moduł.

ppStmModuleImage
[out] Wskaźnik do adresu IStream obiektu, który zawiera przenośny obraz wykonywalny (PE) do załadowania lub wartość null, jeśli nie można odnaleźć modułu.

ppStmPDB
[out] Wskaźnik do adresu obiektu, który zawiera informacje debugowania programu (PDB) dla żądanego IStream modułu lub wartość null, jeśli nie można odnaleźć pliku .pdb.

Wartość zwracana

HRESULT Opis
S_OK ProvideModule zwrócone pomyślnie.
HOST_E_CLRNOTAVAILABLE Środowisko uruchomieniowe języka wspólnego (CLR) nie zostało załadowane do procesu lub clR jest w stanie, w którym nie może uruchomić kodu zarządzanego ani pomyślnie przetworzyć wywołania.
HOST_E_TIMEOUT Upłynął limit czasu wywołania.
HOST_E_NOT_OWNER Obiekt wywołujący nie jest właścicielem blokady.
HOST_E_ABANDONED Zdarzenie zostało anulowane, gdy zablokowany wątek lub światłowod czekał na nie.
E_FAIL Wystąpił nieznany katastrofalny błąd. Gdy metoda zwraca E_FAIL, clR nie będzie już można jej używać w ramach tego procesu. Kolejne wywołania metod hostingu zwracają HOST_E_CLRNOTAVAILABLE.
COR_E_FILENOTFOUND (0x80070002) Nie można znaleźć żądanego zestawu lub połączonego zasobu.
E_NOT_SUFFICIENT_BUFFER pdwModuleId nie jest wystarczająco duży, aby zawierać identyfikator, który ma zostać zwrócony przez hosta.

Uwagi

Wartość tożsamości zwrócona dla pdwModuleId jest określana przez hosta. Identyfikatory muszą być unikatowe w okresie istnienia procesu. ClR używa tej wartości jako unikatowego identyfikatora skojarzonego strumienia. Sprawdza każdą wartość względem wartości zwracanych pAssemblyId przez wywołania funkcji ProvideAssembly i względem wartości pdwModuleId zwracanych przez inne wywołania do ProvideModuleelementu . Jeśli host zwraca tę samą wartość identyfikatora dla innego IStreamelementu , clR sprawdza, czy zawartość tego strumienia została już zamapowana. Jeśli tak, clR ładuje istniejącą kopię obrazu zamiast mapowania nowej. W związku z tym identyfikator nie może również pokrywać się z identyfikatorami zestawów zwracanymi z ProvideAssemblyelementu .

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: MSCorEE.h

Biblioteki: Uwzględnione jako zasób w MSCorEE.dll

wersje .NET Framework: dostępne od wersji 2.0

Zobacz też