Marshal.QueryInterface(IntPtr, Guid, IntPtr) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
BIR COM nesnesinden belirtilen arabirime 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);
public static int QueryInterface(IntPtr pUnk, in 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, ref readonly Guid iid, out IntPtr ppv);
[<System.Security.SecurityCritical>]
static member QueryInterface : nativeint * Guid * nativeint -> int
static member QueryInterface : nativeint * Guid * nativeint -> int
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
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
QueryInterface yöntemi, 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çiyle işiniz bittiğinde her zaman başvuru sayısını azaltmaya yönelik kullanın Marshal.Release .
IntPtr arabirim işaretçisini temsil eden bir değer elde etmek için , Marshal.GetComInterfaceForObjectveya Marshal.GetIUnknownForObjectçağırabilirsinizMarshal.GetIDispatchForObject.