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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。