LanguageService.QueryService 方法

返回一项时指定的服务的请求接口。

命名空间:  Microsoft.VisualStudio.Package
程序集:   Microsoft.VisualStudio.Package.LanguageService.9.0(在 Microsoft.VisualStudio.Package.LanguageService.9.0.dll 中)
  Microsoft.VisualStudio.Package.LanguageService.10.0(在 Microsoft.VisualStudio.Package.LanguageService.10.0.dll 中)
  Microsoft.VisualStudio.Package.LanguageService.11.0(在 Microsoft.VisualStudio.Package.LanguageService.11.0.dll 中)
  Microsoft.VisualStudio.Package.LanguageService(在 Microsoft.VisualStudio.Package.LanguageService.dll 中)

语法

声明
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
)

参数

  • guidService
    类型:System.Guid%
    [in] 查询的服务的 GUID。
  • iid
    类型:System.Guid%
    [in] 所需接口的 GUID。
  • obj
    类型:System.IntPtr%
    [out] 对接口的一 unmarshaled 指针。

返回值

类型:System.Int32
如果成功,则返回; S_OK否则,返回错误代码。

实现

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

备注

该基方法调用 LanguageService.GetService 获取 IOleServiceProvider 接口并传递对其 QueryService。 此方法是 QueryService 的实现。

示例

此示例演示如何使用此方法为接口查询并将结果指针到物理接口对象。

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;

}

.NET Framework 安全性

请参见

参考

LanguageService 类

Microsoft.VisualStudio.Package 命名空间