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 |