Share via


RealProxy.SetCOMIUnknown(IntPtr) Yöntem

Tanım

Geçerli örnek tarafından temsil edilen nesnenin yönetilmeyen bir proxy'sini depolar.

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)

Parametreler

i
IntPtr

nativeint

Geçerli proxy örneği tarafından temsil edilen nesnenin arabirimine yönelik bir işaretçi IUnknown .

Örnekler

[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

Açıklamalar

Yönetilmeyen bir ara sunucu COM aracılığıyla ortak dil çalışma zamanıyla iletişim kurmaya çalıştığında, çalışma zamanı yönetilmeyen ara sunucu tarafından temsil edilen uzak nesneyi çözümler. Uzak nesne yönetiliyorsa ve aynı zamanda ortak bir dil ortamında bulunuyorsa, dağıtılmış COM aracılığıyla iletişim kurmak yerine nesne geçerli işleme gönderilir.

Uzak nesne öğesinden MarshalByRefObjecttüretilmemişse, seri hale getirilir ve geçerli konuma kopyalanır. 'den MarshalByRefObjecttüretilirse saydam bir ara sunucu döndürür ve uzaktan iletişim altyapısı, yönetilmeyen ara sunucuyu ( IUnknown arabirim) gelecekte kullanmak üzere saydam proxy'de önbelleğe alır.

Şunlara uygulanır