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