Condividi tramite


Metodo LanguageService.QueryService

Restituisce l'interfaccia di richiesta dal servizio specificato.

Spazio dei nomi:  Microsoft.VisualStudio.Package
Assembly:   Microsoft.VisualStudio.Package.LanguageService.9.0 (in Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.10.0 (in Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.11.0 (in Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
  Microsoft.VisualStudio.Package.LanguageService (in Microsoft.VisualStudio.Package.LanguageService.dll)

Sintassi

'Dichiarazione
Public Overridable Function QueryService ( _
    ByRef guidService As Guid, _
    ByRef iid As Guid, _
    <OutAttribute> ByRef obj As IntPtr _
) As Integer
public virtual int QueryService(
    ref Guid guidService,
    ref Guid iid,
    out IntPtr obj
)

Parametri

  • guidService
    Tipo: System.Guid%
    [in] Il GUID del servizio da eseguire la query.
  • iid
    Tipo: System.Guid%
    [in] Il GUID dell'interfaccia desiderata.
  • obj
    Tipo: System.IntPtr%
    [out] Un puntatore unmarshaled l'interfaccia.

Valore restituito

Tipo: System.Int32
Se l'operazione riesce, restituisce S_OK; in caso contrario, restituisce un codice di errore.

Implementa

IServiceProvider.QueryService(Guid%, Guid%, IntPtr%)

Note

Le chiamate al metodo di base LanguageService.GetService per ottenere IOleServiceProvider interfaccia e passa la chiamata al relativo QueryService.questo metodo è un'implementazione di QueryService.

Esempi

In questo esempio viene illustrato come utilizzare questo metodo per eseguire una query per un'interfaccia e per effettuare il marshalling del puntatore risultante in un oggetto vero e proprio dell'interfaccia.

IVsUIShell GetUIShell(Microsoft.VisualStudio.OLE.Interop.IServiceProvider pProvider)
{
    IVsUIShell pUIShell = null;
    IntPtr ptr = IntPtr.Zero;
    pProvider.QueryService.(typeof(SVsUIShell).GUID,ptr);
    if (ptr != IntPtr.Zero)
    {
        pUIShell = (IVsUIShell)Marshal.GetObjectForIUnknown(ptr);
    }
    return pUIShell;

}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

LanguageService Classe

Spazio dei nomi Microsoft.VisualStudio.Package