次の方法で共有


IHttpServer2::GetExtendedInterface メソッド

バージョン GUID (グローバル一意識別子) 値に基づいて、正しいダウンキャスト ポインターを取得します。

構文

virtual HRESULT GetExtendedInterface(  
   _In_ const GUID &       Version1,  
   _In_ PVOID              pInput,  
   _In_ const GUID &       Version2,  
   _Outptr_ PVOID *        ppOutput  
) = 0;  

パラメーター

Version1
[IN]レガシ インスタンスの GUID。

pInput
[IN]レガシ インスタンスを指します。

Version2
[IN]ダウン キャストの対象となるインターフェイスの GUID。

ppOutput
[OUT]ダウンキャストされたインスタンスを指します。

戻り値

HRESULT。 有効な値を次の表に示しますが、これ以外にもあります。

説明
S_OK 操作が成功したことを示します。

解説

このメソッドは、基底クラス ポインターを派生クラスにダウン キャストすることを目的としています。 たとえば、 IHttpRequest への既存のインスタンス ポインターがあるとします。 コードは、その新しいメソッドのいずれかを呼び出すために、派生クラス IHttpRequest2 にキャストダウンする必要があります。

HRESULT SomeFunction(   
    IHttpServer2* pHttpServer,  
    IHttpRequest pHttpRequest   
)  
{  
    IHttpRequest2 pHttpRequest2 = NULL;  
    // Grab a new interface!  
    pHttpServer-> GetExtendedInterface(__uuidof(pHttpRequest), pHttpRequest, __uuidof(pHttpRequest2), &pHttpRequest2 );  
    …  
}  

を使用 GetExtendedInterfaceする代わりに、クライアント HttpGetExtendedInterface ユーティリティ関数を使用して、ポインターをダウン キャストできます。

要件

Type 説明
Client - Windows Vista 上の IIS 7.0
- Windows 7 上の IIS 7.5
- Windows 8 の IIS 8.0
- Windows 10の IIS 10.0
サーバー - Windows Server 2008 の IIS 7.0
- Windows Server 2008 R2 上の IIS 7.5
- Windows Server 2012 上の IIS 8.0
- Windows Server 2012 R2 上の IIS 8.5
- Windows Server 2016上の IIS 10.0
製品 - IIS 7.0、IIS 7.5、IIS 8.0、IIS 8.5、IIS 10.0
- IIS Express 7.5、IIS Express 8.0、IIS Express 10.0
Header Httpserv.h

参照

IHttpServer2 インターフェイス