Marshal.GetComInterfaceForObject Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan penunjuk antarmuka yang mewakili antarmuka untuk objek.
Overload
GetComInterfaceForObject(Object, Type) |
Kedaluwarsa.
Mengembalikan penunjuk ke antarmuka IUnknown yang mewakili antarmuka yang ditentukan pada objek yang ditentukan. Akses antarmuka kueri kustom diaktifkan secara default. |
GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) |
Kedaluwarsa.
Mengembalikan penunjuk ke antarmuka IUnknown yang mewakili antarmuka yang ditentukan pada objek yang ditentukan. Akses antarmuka kueri kustom dikontrol oleh mode kustomisasi yang ditentukan. |
GetComInterfaceForObject<T,TInterface>(T) |
Mengembalikan penunjuk ke antarmuka IUnknown yang mewakili antarmuka yang ditentukan pada objek dari jenis yang ditentukan. Akses antarmuka kueri kustom diaktifkan secara default. |
GetComInterfaceForObject(Object, Type)
- Sumber:
- Marshal.NoCom.cs
- Sumber:
- Marshal.NoCom.cs
- Sumber:
- Marshal.NoCom.cs
Perhatian
GetComInterfaceForObject(Object, Type) may be unavailable in future releases. Instead, use GetComInterfaceForObject<T,T2>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296509
Mengembalikan penunjuk ke antarmuka IUnknown yang mewakili antarmuka yang ditentukan pada objek yang ditentukan. Akses antarmuka kueri kustom diaktifkan secara default.
public:
static IntPtr GetComInterfaceForObject(System::Object ^ o, Type ^ T);
[System.Obsolete("GetComInterfaceForObject(Object, Type) may be unavailable in future releases. Instead, use GetComInterfaceForObject<T,T2>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296509")]
[System.Security.SecurityCritical]
public static IntPtr GetComInterfaceForObject (object o, Type T);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static IntPtr GetComInterfaceForObject (object o, Type T);
[System.Security.SecurityCritical]
public static IntPtr GetComInterfaceForObject (object o, Type T);
public static IntPtr GetComInterfaceForObject (object o, Type T);
[<System.Obsolete("GetComInterfaceForObject(Object, Type) may be unavailable in future releases. Instead, use GetComInterfaceForObject<T,T2>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296509")>]
[<System.Security.SecurityCritical>]
static member GetComInterfaceForObject : obj * Type -> nativeint
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetComInterfaceForObject : obj * Type -> nativeint
[<System.Security.SecurityCritical>]
static member GetComInterfaceForObject : obj * Type -> nativeint
static member GetComInterfaceForObject : obj * Type -> nativeint
Public Shared Function GetComInterfaceForObject (o As Object, T As Type) As IntPtr
Parameter
- o
- Object
Objek yang menyediakan antarmuka.
- T
- Type
Jenis antarmuka yang diminta.
Mengembalikan
nativeint
Penunjuk antarmuka yang mewakili antarmuka yang ditentukan untuk objek .
- Atribut
Pengecualian
Parameter T
bukan antarmuka.
-atau-
Jenis tidak terlihat oleh COM.
-atau-
Parameter T
adalah definisi jenis generik.
Parameter o
tidak mendukung antarmuka yang diminta.
Keterangan
Metode ini mengembalikan penunjuk antarmuka yang mewakili antarmuka yang diminta pada objek yang ditentukan. Ini sangat berguna jika Anda memiliki metode tidak terkelola yang mengharapkan untuk diteruskan penunjuk antarmuka. 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. Anda harus mematuhi aturan yang ditentukan oleh COM saat menggunakan penunjuk antarmuka COM mentah.
GetComInterfaceForObject(Object, Type) berguna saat memanggil metode yang mengekspos parameter objek COM sebagai IntPtr jenis, atau dengan marshaling kustom. Meskipun kurang umum, Anda dapat menggunakan metode ini pada objek terkelola untuk mendapatkan penunjuk ke pembungkus yang dapat dipanggil COM objek. Misalnya, Anda dapat menggunakan GetComInterfaceForObject(Object, Type) pada objek terkelola yang diekspor ke COM untuk mendapatkan penunjuk antarmuka untuk System.Runtime.InteropServices.UCOMIConnectionPointContainer. Anda tidak dapat memperoleh penunjuk ke antarmuka kelas karena antarmuka kelas tidak memiliki jenis yang sesuai untuk diteruskan ke parameter kedua (t
). Sebagai gantinya, gunakan Marshal.GetIDispatchForObject untuk memanggil anggota pada antarmuka default pembungkus yang dapat dipanggil COM, yang biasanya merupakan antarmuka kelas pengiriman otomatis.
Metode GetComInterfaceForObject(Object, Type) kelebihan beban memungkinkan penyesuaian antarmuka kueri secara default. Untuk menentukan apakah akan menerapkan kustomisasi antarmuka kueri, gunakan GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) metode kelebihan beban.
Untuk informasi tambahan, lihat artikel COM Callable Wrapper dan Runtime Callable Wrapper .
Lihat juga
- GetComInterfaceForObjectInContext(Object, Type)
- ComImportAttribute
- Release(IntPtr)
- UCOMIConnectionPointContainer
- GetIDispatchForObject(Object)
Berlaku untuk
GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode)
- Sumber:
- Marshal.NoCom.cs
- Sumber:
- Marshal.NoCom.cs
- Sumber:
- Marshal.NoCom.cs
Perhatian
GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) and support for ICustomQueryInterface may be unavailable in future releases.
Mengembalikan penunjuk ke antarmuka IUnknown yang mewakili antarmuka yang ditentukan pada objek yang ditentukan. Akses antarmuka kueri kustom dikontrol oleh mode kustomisasi yang ditentukan.
public:
static IntPtr GetComInterfaceForObject(System::Object ^ o, Type ^ T, System::Runtime::InteropServices::CustomQueryInterfaceMode mode);
[System.Obsolete("GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) and support for ICustomQueryInterface may be unavailable in future releases.")]
[System.Security.SecurityCritical]
public static IntPtr GetComInterfaceForObject (object o, Type T, System.Runtime.InteropServices.CustomQueryInterfaceMode mode);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static IntPtr GetComInterfaceForObject (object o, Type T, System.Runtime.InteropServices.CustomQueryInterfaceMode mode);
[System.Security.SecurityCritical]
public static IntPtr GetComInterfaceForObject (object o, Type T, System.Runtime.InteropServices.CustomQueryInterfaceMode mode);
public static IntPtr GetComInterfaceForObject (object o, Type T, System.Runtime.InteropServices.CustomQueryInterfaceMode mode);
[<System.Obsolete("GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) and support for ICustomQueryInterface may be unavailable in future releases.")>]
[<System.Security.SecurityCritical>]
static member GetComInterfaceForObject : obj * Type * System.Runtime.InteropServices.CustomQueryInterfaceMode -> nativeint
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetComInterfaceForObject : obj * Type * System.Runtime.InteropServices.CustomQueryInterfaceMode -> nativeint
[<System.Security.SecurityCritical>]
static member GetComInterfaceForObject : obj * Type * System.Runtime.InteropServices.CustomQueryInterfaceMode -> nativeint
static member GetComInterfaceForObject : obj * Type * System.Runtime.InteropServices.CustomQueryInterfaceMode -> nativeint
Public Shared Function GetComInterfaceForObject (o As Object, T As Type, mode As CustomQueryInterfaceMode) As IntPtr
Parameter
- o
- Object
Objek yang menyediakan antarmuka.
- T
- Type
Jenis antarmuka yang diminta.
Salah satu nilai enumerasi yang menunjukkan apakah akan menerapkan IUnknown::QueryInterface
kustomisasi yang disediakan oleh ICustomQueryInterface.
Mengembalikan
nativeint
Penunjuk antarmuka yang mewakili antarmuka untuk objek .
- Atribut
Pengecualian
Parameter T
bukan antarmuka.
-atau-
Jenis tidak terlihat oleh COM.
-atau-
Parameter T
adalah definisi jenis generik.
Objek o
tidak mendukung antarmuka yang diminta.
Keterangan
GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) memungkinkan Anda menentukan apakah akan menerapkan kustomisasi antarmuka kueri. GetComInterfaceForObject(Object, Type) Gunakan kelebihan beban untuk menerapkan kustomisasi antarmuka kueri secara default.
Berlaku untuk
GetComInterfaceForObject<T,TInterface>(T)
- Sumber:
- Marshal.NoCom.cs
- Sumber:
- Marshal.NoCom.cs
- Sumber:
- Marshal.NoCom.cs
Mengembalikan penunjuk ke antarmuka IUnknown yang mewakili antarmuka yang ditentukan pada objek dari jenis yang ditentukan. Akses antarmuka kueri kustom diaktifkan secara default.
public:
generic <typename T, typename TInterface>
static IntPtr GetComInterfaceForObject(T o);
[System.Security.SecurityCritical]
public static IntPtr GetComInterfaceForObject<T,TInterface> (T o);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static IntPtr GetComInterfaceForObject<T,TInterface> (T o);
public static IntPtr GetComInterfaceForObject<T,TInterface> (T o);
[<System.Security.SecurityCritical>]
static member GetComInterfaceForObject : 'T -> nativeint
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetComInterfaceForObject : 'T -> nativeint
static member GetComInterfaceForObject : 'T -> nativeint
Public Shared Function GetComInterfaceForObject(Of T, TInterface) (o As T) As IntPtr
Jenis parameter
- T
Jenis o
.
- TInterface
Jenis antarmuka yang akan dikembalikan.
Parameter
- o
- T
Objek yang menyediakan antarmuka.
Mengembalikan
nativeint
Penunjuk antarmuka yang mewakili TInterface
antarmuka.
- Atribut
Pengecualian
Parameter TInterface
bukan antarmuka.
-atau-
Jenis tidak terlihat oleh COM.
-atau-
Parameter T
adalah jenis generik terbuka.
Parameter o
tidak mendukung TInterface
antarmuka.
Parameternya o
adalah null
.
Keterangan
Metode ini mengembalikan penunjuk antarmuka yang mewakili TInterface
antarmuka pada objek yang ditentukan. Ini sangat berguna jika Anda memiliki metode tidak terkelola yang mengharapkan untuk diteruskan penunjuk antarmuka. Memanggil objek dengan metode ini menyebabkan jumlah referensi bertambah pada penunjuk antarmuka sebelum penunjuk dikembalikan. Selalu gunakan Marshal.Release metode untuk mengurangi jumlah referensi ketika Anda telah selesai dengan penunjuk. Anda harus mematuhi aturan yang ditentukan oleh COM saat menggunakan penunjuk antarmuka COM mentah.
GetComInterfaceForObject<T,TInterface>(T) berguna saat memanggil metode yang mengekspos parameter objek COM sebagai IntPtr jenis, atau dengan marshaling kustom. Anda juga dapat menggunakan metode ini pada objek terkelola untuk mendapatkan penunjuk ke pembungkus yang dapat dipanggil COM objek, meskipun ini kurang umum. Misalnya, Anda dapat menggunakan GetComInterfaceForObject<T,TInterface>(T) pada objek terkelola yang diekspor ke COM untuk mendapatkan penunjuk antarmuka untuk System.Runtime.InteropServices.UCOMIConnectionPointContainer.
Metode GetComInterfaceForObject<T,TInterface>(T) kelebihan beban memungkinkan penyesuaian antarmuka kueri secara default. Untuk menentukan apakah akan menerapkan kustomisasi antarmuka kueri, gunakan GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) metode kelebihan beban.
Untuk informasi tambahan, lihat artikel COM Callable Wrapper dan Runtime Callable Wrapper .