Bagikan melalui


Marshal.QueryInterface(IntPtr, Guid, IntPtr) Metode

Definisi

Meminta penunjuk ke antarmuka tertentu dari objek COM.

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

Parameter

pUnk
IntPtr

nativeint

Antarmuka yang akan dikueri.

iid
Guid

Pengidentifikasi antarmuka (IID) dari antarmuka yang diminta.

ppv
IntPtr

nativeint

Ketika metode ini kembali, berisi referensi ke antarmuka yang dikembalikan.

Mengembalikan

HRESULT yang menunjukkan keberhasilan atau kegagalan panggilan.

Atribut

Keterangan

Metode ini QueryInterface mengekspos metode IUnknown::QueryInterface dari objek COM, yang mencoba mendapatkan penunjuk antarmuka tertentu. Menggunakan QueryInterface pada objek COM sama dengan melakukan operasi transmisi dalam kode terkelola. Memanggil objek dengan metode ini menyebabkan jumlah referensi bertambah pada penunjuk antarmuka sebelum penunjuk dikembalikan. Selalu gunakan Marshal.Release untuk mengurangi jumlah referensi setelah Anda selesai dengan penunjuk. Untuk mendapatkan IntPtr nilai yang mewakili penunjuk antarmuka IUnknown , Anda dapat memanggil Marshal.GetComInterfaceForObject, , Marshal.GetIUnknownForObjectatau Marshal.GetIDispatchForObject.

Berlaku untuk

Lihat juga