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
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.