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 名前空間