RealProxy.GetCOMIUnknown(Boolean) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在のプロキシ インスタンスが表すオブジェクトへのアンマネージ参照を要求します。
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
パラメーター
- fIsMarshalled
- Boolean
リモートの場所へのマーシャリングに対してオブジェクト参照が要求された場合は、true
です。現在のプロセスにおけるアンマネージ オブジェクトとの、COM 経由の通信に対してオブジェクト参照が要求された場合は、false
です。
戻り値
nativeint
現在のプロセスにおけるアンマネージ オブジェクトとの、COM 経由の通信に対してオブジェクト参照が要求された場合は、 COM Callable Wrapper へのポインターです。リモートの場所へのマーシャリングに対してオブジェクト参照が要求された場合は、キャッシュされたまたは新しく生成された IUnknown
COM インターフェイスへのポインターです。
- 属性
例
[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
注釈
プロキシがマーシャリングを要求された場合は、 IUnknown
現在のプロキシ インスタンスによって表されるオブジェクトのインターフェイスが返されます。
IUnknown
が以前に メソッドによってSetCOMIUnknownキャッシュされた場合、そのインスタンスが返されます。それ以外の場合は、新しいインスタンスが返されます。
プロキシがマーシャリングではなく、現在のプロセスのアンマネージド オブジェクトとの通信のために要求された場合は、COM を介した通信のために現在のプロセスで使用できる COM 呼び出し可能ラッパー (CCW) が返されます。
適用対象
.NET