Поделиться через


Метод 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 для приведения указателя вниз.

Требования

Тип Описание
клиент — IIS 7.0 в Windows Vista
— IIS 7.5 в Windows 7
— IIS 8.0 в Windows 8
— IIS 10.0 в Windows 10
Сервер — IIS 7.0 в Windows Server 2008
— IIS 7.5 в Windows Server 2008 R2
— IIS 8.0 в Windows Server 2012
— IIS 8.5 в Windows Server 2012 R2
— IIS 10.0 в Windows Server 2016
Продукт — 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
Заголовок Httpserv.h

См. также:

Интерфейс IHttpServer2