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
интерфейса Myclass
coclass, необходимо использовать MyclassClass
(не Myclass
) с этим методом. Дополнительные сведения об импортированных классах и интерфейсах совместного класса см. в разделе "Импортированное преобразование типов".
Если объект уже получен для pUnk
параметра, t
игнорируется и возвращается существующий объект. pUnk
представляет указатель интерфейса IUnknown ; однако, поскольку все com-интерфейсы являются производными напрямую или косвенно, IUnknown
вы можете передать любой COM-интерфейс этому методу. Возвращаемый GetTypedObjectForIUnknown объектом является вызываемая оболочка среды выполнения (RCW), которой среда CLR управляет, как и любой другой управляемый объект.