IGlobalRSCAQueryProvider::GetOutputBuffer 方法

BYTE创建新数组。

语法

virtual HRESULT GetOutputBuffer(  
   DWORD cbBuffer,  
   OUT BYTE** ppbBuffer  
) = 0;  

parameters

cbBuffer
[IN]包含 DWORD 要分配的字节数的 。

ppbBuffer
[OUT]指向 BYTE 包含新缓冲区的数组的指针。

返回值

HRESULT。 可能的值包括(但并不限于)下表中的项。

定义
S_OK 指示操作成功。
E_OUTOFMEMORY 指示堆内存已用尽。

备注

注册GL_RSCA_QUERY事件的 CGlobalModule 派生类接收 IGlobalRscaQueryProvider 指针作为 CGlobalModule::OnGlobalRSCAQueryvirtual 方法上的参数。 然后,可以通过对指针调用 GetOutputBuffer 方法来IGlobalRSCAQueryProvider检索新BYTE数组。

返回 GetOutputBuffer 值取决于实现。 应将以下信息用作指南,但并非所有情况都正确:

实现 IGlobalRSCAQueryProvider 者将私有 BYTE 指针声明为名为 buffer的成员变量;实现程序在构造时初始化 buffer 为 NULL。 如果在buffer调用 时GetOutputBuffer不为 NULL,则会在 上buffer调用 LocalFree 函数。 调用 LocalAlloc 函数以分配给buffer堆上大小cbBuffer的新BYTE数组。 buffer如果 GetOutputBuffer 返回 S_OK,则会在取消引用ppbBuffer参数中返回 。

重要 此方法是 IIS 7 基础结构的一部分,不应直接从代码中使用。

实现者须知

IGlobalRSCAQueryProvider实施者负责使用此数据进行内存管理;因此,IGlobalRSCAQueryProvider使用动态内存分配的实现程序必须在不再需要指针时释放或调用deleteBYTE指针。

对调用者的说明

IGlobalRSCAQueryProvider 实施者负责使用此数据进行内存管理;因此,当不再需要此数据时, IGlobalRSCAQueryProvider 客户端不得释放或调用返回 BYTE 的指针上的 delete。

要求

类型 说明
客户端 - 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

另请参阅

IGlobalRSCAQueryProvider 接口
IGlobalRSCAQueryProvider::ResizeOutputBuffer 方法