Marshal.GetTypedObjectForIUnknown(IntPtr, Type) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает управляемый объект указанного типа, представляющий COM-объект.
public:
static System::Object ^ GetTypedObjectForIUnknown(IntPtr pUnk, Type ^ t);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static object GetTypedObjectForIUnknown (IntPtr pUnk, Type t);
public static object GetTypedObjectForIUnknown (IntPtr pUnk, Type t);
[System.Security.SecurityCritical]
public static object GetTypedObjectForIUnknown (IntPtr pUnk, Type t);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetTypedObjectForIUnknown : nativeint * Type -> obj
static member GetTypedObjectForIUnknown : nativeint * Type -> obj
[<System.Security.SecurityCritical>]
static member GetTypedObjectForIUnknown : nativeint * Type -> obj
Public Shared Function GetTypedObjectForIUnknown (pUnk As IntPtr, t As Type) As Object
Параметры
- pUnk
-
IntPtr
nativeint
Указатель на интерфейс IUnknown
неуправляемого объекта.
- t
- Type
Тип запрашиваемого управляемого класса.
Возвращаемое значение
Экземпляр класса, который соответствует объекту Type, представляющему запрошенный неуправляемый COM-объект.
- Атрибуты
Исключения
Комментарии
Параметр t
должен быть либо типом, импортируемым COM, либо подтипом типа, импортированного COM. Кроме того, должен быть типом, t
метаданные которого были импортированы средствомTlbimp.exe (средство импорта библиотек типов). Этот тип должен быть классом, а не связанным интерфейсом coclass, который содержит имя com-класса. Например, если Tlbimp.exe импортирует Myclass
как класс с именем MyclassClass
и как интерфейс coclass с именем Myclass
, необходимо использовать MyclassClass
(не Myclass
) с этим методом. Дополнительные сведения об импортированных классах и интерфейсах coclass см. в разделе Импортированное преобразование типов.
Если объект уже был получен для pUnk
параметра , t
игнорируется и возвращается существующий объект .
pUnk
представляет указатель интерфейса IUnknown ; однако, поскольку все COM-интерфейсы являются производными прямо или косвенно от IUnknown
, в этот метод можно передать любой COM-интерфейс. Объект, возвращаемый методом GetTypedObjectForIUnknown , является вызываемой оболочкой среды выполнения (RCW), которой управляет среда CLR, как и любым другим управляемым объектом.