Share via


RealProxy.GetCOMIUnknown(Boolean) Yöntem

Tanım

Geçerli proxy örneği tarafından temsil edilen nesneye yönetilmeyen bir başvuru istemektedir.

public:
 virtual IntPtr GetCOMIUnknown(bool fIsMarshalled);
public virtual IntPtr GetCOMIUnknown (bool fIsMarshalled);
[System.Security.SecurityCritical]
public virtual IntPtr GetCOMIUnknown (bool fIsMarshalled);
abstract member GetCOMIUnknown : bool -> nativeint
override this.GetCOMIUnknown : bool -> nativeint
[<System.Security.SecurityCritical>]
abstract member GetCOMIUnknown : bool -> nativeint
override this.GetCOMIUnknown : bool -> nativeint
Public Overridable Function GetCOMIUnknown (fIsMarshalled As Boolean) As IntPtr

Parametreler

fIsMarshalled
Boolean

true uzak bir konuma hazırlama için nesne başvurusu istenirse; false nesne başvurusu com aracılığıyla geçerli işlemdeki yönetilmeyen nesnelerle iletişim için istenirse.

Döndürülenler

IntPtr

nativeint

Nesne başvurusu COM aracılığıyla geçerli işlemdeki yönetilmeyen nesnelerle iletişim için isteniyorsa COM Çağrılabilen Sarmalayıcı işaretçisi veya nesne başvurusu uzak bir konuma hazırlama için isteniyorsa önbelleğe alınmış veya yeni oluşturulan IUnknown bir COM arabirimi işaretçisi.

Öznitelikler

Ö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

Ara sunucu hazırlama için istenirse, geçerli proxy örneği tarafından temsil edilen nesne için bir IUnknown arabirim döndürülür. IUnknown daha önce yöntemi tarafından SetCOMIUnknown önbelleğe alınmışsa bu örnek döndürülür; aksi takdirde yeni bir örnek döndürülür.

Ara sunucu hazırlama için değil geçerli işlemdeki yönetilmeyen nesnelerle iletişim için istenirse, COM aracılığıyla iletişim için geçerli işlemde kullanılabilecek bir COM Çağrılabilen Sarmalayıcı (CCW) döndürülür.

Şunlara uygulanır