Aracılığıyla paylaş


Marshal.QueryInterface(IntPtr, Guid, IntPtr) Yöntem

Tanım

BIR COM nesnesinden belirtilen arabirime yönelik bir işaretçi isteğinde bulunur.

public:
 static int QueryInterface(IntPtr pUnk, Guid % iid, [Runtime::InteropServices::Out] IntPtr % ppv);
[System.Security.SecurityCritical]
public static int QueryInterface (IntPtr pUnk, ref Guid iid, out IntPtr ppv);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static int QueryInterface (IntPtr pUnk, ref Guid iid, out IntPtr ppv);
public static int QueryInterface (IntPtr pUnk, ref Guid iid, out IntPtr ppv);
public static int QueryInterface (IntPtr pUnk, in Guid iid, out IntPtr ppv);
[<System.Security.SecurityCritical>]
static member QueryInterface : nativeint * Guid * nativeint -> int
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member QueryInterface : nativeint * Guid * nativeint -> int
static member QueryInterface : nativeint * Guid * nativeint -> int
Public Shared Function QueryInterface (pUnk As IntPtr, ByRef iid As Guid, ByRef ppv As IntPtr) As Integer

Parametreler

pUnk
IntPtr

nativeint

Sorgulanacak arabirim.

iid
Guid

İstenen arabirimin arabirim tanımlayıcısı (IID).

ppv
IntPtr

nativeint

Bu yöntem döndürdüğünde, döndürülen arabirime bir başvuru içerir.

Döndürülenler

Çağrının başarısını veya başarısızlığını gösteren bir HRESULT.

Öznitelikler

Açıklamalar

yöntemi, QueryInterface belirli bir arabirim işaretçisini elde etmeye çalışan bir COM nesnesinin IUnknown::QueryInterface yöntemini kullanıma sunar. COM nesnesinde kullanmak QueryInterface , yönetilen kodda bir atama işlemi gerçekleştirmekle aynıdır. Bir nesneyi bu yöntemle çağırmak, işaretçi döndürülmeden önce arabirim işaretçisinde başvuru sayısının artmalarına neden olur. İşaretçiyi tamamladıktan sonra başvuru sayısını geri almak için her zaman kullanın Marshal.Release . IUnknown arabirim işaretçisini temsil eden bir IntPtr değer elde etmek için , Marshal.GetIUnknownForObjectveya Marshal.GetIDispatchForObjectçağırabilirsinizMarshal.GetComInterfaceForObject.

Şunlara uygulanır

Ayrıca bkz.