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 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.