RealProxy.GetCOMIUnknown(Boolean) 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 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
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.