Metoda IVsPackage.SetSite — (IServiceProvider)
Inicjuje VSPackage z tylnym wskaźnik do środowiska naturalnego.
Przestrzeń nazw: Microsoft.VisualStudio.Shell.Interop
Zestaw: Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)
Składnia
int SetSite(
IServiceProvider psp
)
int SetSite(
IServiceProvider^ psp
)
abstract SetSite :
psp:IServiceProvider -> int
Function SetSite (
psp As IServiceProvider
) As Integer
Parametry
- psp
[w] Wskaźnik, aby IServiceProvider interfejsu, przez który VSPackage może wykonywać kwerendy dotyczące usług.
Wartość zwracana
Type: System.Int32
Jeśli metoda się powiedzie, zwraca S_OK.Jeśli nie powiedzie się, zwraca kod błędu.
Uwagi
Podpis COM
Z vsshell.idl:
HRESULT IVsPackage::SetSite(
[in] IServiceProvider *pSP
);
Jest to metoda najważniejszych w IVsPackage interfejsu.
W celu stosowania tej metody można:
Store psp.
Ładowania trwałych danych przy użyciu interfejsów IVsPersistSolutionOpts interfejsu i IVsPersistSolutionProps interfejsów.
Proffer usługi, jeśli istnieje.
Edytory factory dostępnych dokumentów, należy zarejestrować ewentualne.
Zarejestruj dostępne projekt typu fabryk, ewentualne.
Żądanie usługi, które są implementowane przez inne VSPackages
Usługi muszą mieć proffered przez czas, który te czynności są kompletne.W przeciwnym razie żądania usługi może załadować VSPackage, który żąda usług, które podasz.Jednakże ponieważ nie mają proffered jeszcze, obciążenie innych VSPackage kończy się niepowodzeniem i nie można uzyskać dostęp do żądanej usługi, może doprowadzić błędy podczas ładowania.
Zwracanie błąd wyników kod wyniku w środowisku zamknięcia VSPackage i zwalnianie jego zasobów.
W implementacji metody tej nie należy zakładać UI byłaby dostępna.Nie należy próbować dodać okienka do Okna dane wyjściowe lub użyj innej usługi, która zależy od interfejsu użytkownika ma być dostępny.Na przykład, gdy devenv jest wywoływana z /setup SetSite jest wywoływana i interfejsu użytkownika nie jest dostępny.
Zobacz też
Interfejs IVsPackage
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop
Powrót do początku