다음을 통해 공유


RealProxy.SetCOMIUnknown(IntPtr) 메서드

정의

현재 인스턴스에서 나타내는 개체의 비관리 프록시를 저장합니다.

public:
 virtual void SetCOMIUnknown(IntPtr i);
public virtual void SetCOMIUnknown (IntPtr i);
abstract member SetCOMIUnknown : nativeint -> unit
override this.SetCOMIUnknown : nativeint -> unit
Public Overridable Sub SetCOMIUnknown (i As IntPtr)

매개 변수

i
IntPtr

nativeint

현재 프록시 인스턴스가 나타내는 개체의 IUnknown 인터페이스에 대한 포인터입니다.

예제

[SecurityPermission(SecurityAction::LinkDemand, Flags = SecurityPermissionFlag::Infrastructure)]
IntPtr SupportsInterface( Guid * /*myGuid*/ )
{
   Console::WriteLine( "SupportsInterface method called" );
   
   // Object reference is requested for communication with unmanaged objects
   // in the current process through COM.
   IntPtr myIntPtr = this->GetCOMIUnknown( false );
   
   // Stores an unmanaged proxy of the object.
   this->SetCOMIUnknown( myIntPtr );
   
   // return COM Runtime Wrapper pointer.
   return myIntPtr;
}
public override IntPtr SupportsInterface(ref Guid myGuid)
{
    Console.WriteLine("SupportsInterface method called");
    // Object reference is requested for communication with unmanaged objects
    // in the current process through COM.
    IntPtr myIntPtr = this.GetCOMIUnknown(false);
    // Stores an unmanaged proxy of the object.
    this.SetCOMIUnknown(myIntPtr);
    // return COM Runtime Wrapper pointer.
    return myIntPtr;
}
<SecurityPermission(SecurityAction.LinkDemand, Flags := SecurityPermissionFlag.Infrastructure)> _
Public Overrides Function SupportsInterface(ByRef myGuid As Guid) As IntPtr
   Console.WriteLine("SupportsInterface method called")
   ' Object reference is requested for communication with unmanaged objects
   ' in the current process through COM.
   Dim myIntPtr As IntPtr = Me.GetCOMIUnknown(False)
   ' Stores an unmanaged proxy of the object.
   Me.SetCOMIUnknown(myIntPtr)
   ' return COM Runtime Wrapper pointer.
   Return myIntPtr
End Function 'SupportsInterface

설명

관리 되지 않는 프록시를 공용 언어 런타임에서 COM 통해 통신할 때 런타임에서 관리 되지 않는 프록시에 의해 표현 되는 원격 개체를 확인 합니다. 원격 개체 관리 되는 공용 언어 환경에도 있는 경우 분산된 COM을 통해 통신 하는 대신 현재 프로세스에 개체 전송 됩니다.

원격 개체에서 파생 되지 않은 경우 MarshalByRefObject, 직렬화 되 고 현재 위치에 복사 합니다. 파생 된 경우 MarshalByRefObject투명 프록시를 반환 하 고 원격 인프라 관리 되지 않는 프록시 캐시 (의 IUnknown 인터페이스) 향후 사용에 대 한 투명 프록시입니다.

적용 대상