Marshal.GetTypedObjectForIUnknown(IntPtr, Type) 메서드

정의

COM 개체를 나타내는 지정된 형식의 관리되는 개체를 반환합니다.Returns a managed object of a specified type that represents a COM object.

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

관리되지 않는 개체의 IUnknown 인터페이스에 대한 포인터입니다.A pointer to the IUnknown interface of the unmanaged object.

t
Type

요청된 관리되는 클래스의 형식입니다.The type of the requested managed class.

반환

Object

요청된 관리되지 않는 COM 개체를 나타내는 Type 개체에 해당하는 클래스의 인스턴스입니다.An instance of the class corresponding to the Type object that represents the requested unmanaged COM object.

특성

예외

t 특성이 ComImportAttribute가 아닌 경우t is not attributed with ComImportAttribute.

또는-or- t Windows 런타임 형식입니다.t is a Windows Runtime type.

설명

매개 변수는 com에서 가져온 t 형식 이거나 com에서 가져온 형식의 하위 형식 이어야 합니다.The t parameter must be either a COM-imported type or a subtype of a COM-imported type. 또한는 t Tlbimp.exe (형식 라이브러리 가져오기) 도구에서 해당 메타 데이터를 가져온 형식 이어야 합니다.In addition, t must be a type whose metadata was imported by the Tlbimp.exe (Type Library Importer) tool. 이 형식은 COM 클래스의 이름을 전달 하는 연결 된 coclass 인터페이스가 아니라 클래스 여야 합니다.This type must be a class and not an associated coclass interface, which carries the name of the COM class. 예를 들어,를 호출 하는 클래스로 및을 호출 하는 Tlbimp.exe 경우 Myclass MyclassClass Myclass 이 메서드를 사용 하 MyclassClass 여 (not)를 사용 해야 Myclass 합니다.For example, if Tlbimp.exe imports Myclass as a class called MyclassClass and as a coclass interface called Myclass, you must use MyclassClass (not Myclass) with this method. 가져온 클래스 및 coclass 인터페이스에 대 한 자세한 내용은 가져온 형식 변환을 참조 하세요.For additional information about imported classes and coclass interfaces, see Imported Type Conversion.

매개 변수에 대 한 개체를 이미 가져온 경우 pUnk t 는 무시 되 고 기존 개체가 반환 됩니다.If an object has already been obtained for the pUnk parameter, t is ignored and the existing object is returned. pUnkIUnknown 인터페이스 포인터를 나타냅니다. 그러나 모든 COM 인터페이스는에서 직접 또는 간접적으로 파생 되므로 모든 IUnknown com 인터페이스를이 메서드에 전달할 수 있습니다.pUnk represents an IUnknown interface pointer; however, because all COM interfaces derive directly or indirectly from IUnknown, you can pass any COM interface to this method. 에서 반환 되는 개체는 GetTypedObjectForIUnknown 다른 관리 되는 개체를 사용할 때 공용 언어 런타임에서 관리 하는 RCW (런타임 호출 가능 래퍼)입니다.The object returned by GetTypedObjectForIUnknown is a Runtime Callable Wrapper (RCW), which the common language runtime manages as it does any other managed object.

적용 대상

추가 정보