RealProxy.SetCOMIUnknown(IntPtr) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.