LanguageService.QueryService(Guid, Guid, IntPtr) Yöntem

Tanım

Belirtilen hizmetten gelen istek arabirimini döndürür.

public:
 virtual int QueryService(Guid % guidService, Guid % iid, [Runtime::InteropServices::Out] IntPtr % obj);
public virtual int QueryService (ref Guid guidService, ref Guid iid, out IntPtr obj);
abstract member QueryService : Guid * Guid * nativeint -> int
override this.QueryService : Guid * Guid * nativeint -> int
Public Overridable Function QueryService (ByRef guidService As Guid, ByRef iid As Guid, ByRef obj As IntPtr) As Integer

Parametreler

guidService
Guid

'ndaki Sorgulanacak hizmetin GUID 'SI.

iid
Guid

'ndaki İstenen arabirimin GUID 'SI.

obj
IntPtr

nativeint

dışı Arabirime yönelik sıralanmış olmayan bir işaretçi.

Döndürülenler

Int32

Başarılı olursa, döndürür S_OK ; Aksi takdirde, bir hata kodu döndürür.

Uygulamalar

Örnekler

Bu örnek, bu yöntemin bir arabirimi sorgulamak ve elde edilen işaretçiyi gerçek bir arabirim nesnesine sıralaması için nasıl kullanılacağını gösterir.

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;  

}

Açıklamalar

Taban yöntemi, Microsoft.VisualStudio.Package.LanguageService.GetService arabirimini almak için çağırır IOleServiceProvider ve çağrısını üzerine geçirir QueryService . Bu yöntem, uygulamasıdır QueryService .

Şunlara uygulanır