RealProxy.SupportsInterface メソッド
指定した ID を使用して COM インターフェイスを要求します。
Public Overridable Function SupportsInterface( _
ByRef iid As Guid _) As IntPtr
[C#]
public virtual IntPtr SupportsInterface( ref Guidiid);
[C++]
public: virtual IntPtr SupportsInterface(Guid* iid);
[JScript]
public function SupportsInterface(
iid : Guid) : IntPtr;
パラメータ
- iid
要求されたインターフェイスへの参照。
戻り値
要求されたインターフェイスへのポインタ。
解説
SupportsInterface メソッドを使用すると、現在のプロキシ インスタンスで、現在のインスタンスが表すサーバー オブジェクトの代わりに追加の COM インターフェイスを実装できます。現在のメソッドは、要求されたインターフェイスを生成し、そのインターフェイスへのポインタを返します。このメソッドを使用して生成できる COM インターフェイスの型はプロキシ型によって異なり、このプロキシ型は現在のプロキシ インスタンスが表すサーバー オブジェクトの型によって異なります。
詳細については、 ProxyAttribute のトピックを参照してください。
使用例
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
[C#]
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;
}
[C++]
public:
IntPtr SupportsInterface(Guid* /*myGuid*/)
{
Console::WriteLine(S"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;
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
RealProxy クラス | RealProxy メンバ | System.Runtime.Remoting.Proxies 名前空間