Метод 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 |