Sdílet prostřednictvím


IVsPackage.SetSite – metoda (IServiceProvider)

 

Inicializuje VSPackage s ukazatelem zpět do prostředí.

Obor názvů:   Microsoft.VisualStudio.Shell.Interop
Sestavení:  Microsoft.VisualStudio.Shell.Interop (v Microsoft.VisualStudio.Shell.Interop.dll)

Syntaxe

int SetSite(
    IServiceProvider psp
)
int SetSite(
    IServiceProvider^ psp
)
abstract SetSite : 
        psp:IServiceProvider -> int
Function SetSite (
    psp As IServiceProvider
) As Integer

Parametry

  • psp
    [v] Ukazatel IServiceProvider rozhraní, pomocí kterého lze dotazovat VSPackage služeb.

Vrácená hodnota

Type: System.Int32

Pokud metoda uspěje, vrací S_OK.Pokud se nezdaří, vrátí kód chyby.

Poznámky

Podpis COM

Z vsshell.idl:

HRESULT IVsPackage::SetSite(
   [in] IServiceProvider *pSP
);

Toto je nejdůležitější metoda v IVsPackage rozhraní.

Tento způsob implementace můžete:

  • Store psp.

  • Načíst trvalá data pomocí rozhraní IVsPersistSolutionOpts rozhraní a IVsPersistSolutionProps rozhraní.

  • Proffer služby, pokud existuje.

  • Zaregistrujte editory factory dokumentu k dispozici, pokud existuje.

  • Zaregistrujte továren typ projektu k dispozici, pokud existuje.

  • Požadavek služby, které jsou implementovány pomocí jiných VSPackages

Musí mít vaše služby proffered, který tyto kroky byly dokončeny.Váš požadavek na službu jinak, mohou načíst VSPackage, který vyžaduje službu, které poskytujete.Ale protože není proffered, ještě zatížení ostatních VSPackage selže a nemůže získat přístup k požadované služby, pravděpodobně způsobí selhání zatížení.

Zobrazí se chybová výsledky kód výsledku v prostředí zavírání VSPackage a uvolnění jeho prostředky.

V implementaci této metody by není Předpokládejme, že uživatelského rozhraní je k dispozici.Nepokoušejte se přidat podokno na Výstupní okno nebo použijte jiná služba, která využívá na uživatelské rozhraní je k dispozici.Například při devenv vyvolána s /setup SetSite volána a uživatelské rozhraní není k dispozici.

Viz také

IVsPackage – rozhraní
Microsoft.VisualStudio.Shell.Interop – obor názvů

Zpátky na začátek