IHttpServer2::GetExtendedInterface 方法
根据版本 GUID (全局唯一标识符) 值检索正确的向下强制转换指针。
语法
virtual HRESULT GetExtendedInterface(
_In_ const GUID & Version1,
_In_ PVOID pInput,
_In_ const GUID & Version2,
_Outptr_ PVOID * ppOutput
) = 0;
parameters
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 );
…
}
可以使用客户端 HttpGetExtendedInterface 实用工具函数向下强制转换指针,而不是使用 GetExtendedInterface
。
要求
类型 | 说明 |
---|---|
客户端 | - 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 |