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


Метод IGlobalRSCAQueryProvider::GetOutputBuffer

Создает новый BYTE массив.

Синтаксис

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

Параметры

cbBuffer
[IN] Объект DWORD , содержащий количество выделенных байтов.

ppbBuffer
[OUT] Указатель на BYTE массив, содержащий новый буфер.

Возвращаемое значение

Объект HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Значение Определение
S_OK Указывает, что операция выполнена успешно.
E_OUTOFMEMORY Указывает, что память кучи исчерпана.

Комментарии

Производные классы CGlobalModule, которые регистрируются для событий GL_RSCA_QUERY, получают указатель IGlobalRscaQueryProvider в качестве параметра в методе CGlobalModule::OnGlobalRSCAQueryvirtual. Затем можно получить новый BYTE массив, вызвав GetOutputBuffer метод для указателя IGlobalRSCAQueryProvider .

Возвращаемое GetOutputBuffer значение зависит от реализации. В качестве руководства следует использовать следующие сведения, но они могут быть неправильными во всех сценариях:

Реализующий IGlobalRSCAQueryProvider объект объявляет частный BYTE указатель в качестве переменной-члена с именем buffer; при построении он инициализирует buffer значение NULL. Если buffer значение не равно NULL при GetOutputBuffer вызове , функция LocalFree вызывается для buffer. Функция LocalAlloc вызывается для назначения buffer новому BYTE массиву размера cbBuffer в куче. buffer затем возвращается в разыменованном параметре ppbBuffer , если GetOutputBuffer возвращает S_OK.

Важно Этот метод является частью инфраструктуры IIS 7 и не предназначен для использования непосредственно из кода.

Примечания для разработчиков

IGlobalRSCAQueryProviderразработчики отвечают за управление памятью с помощью этих данных; Поэтому разработчики, использующие динамическое выделение памяти, IGlobalRSCAQueryProvider должны освобождать или вызывать BYTEdelete указатель, когда он больше не нужен.

Примечания для вызывающих абонентов

IGlobalRSCAQueryProvider разработчики отвечают за управление памятью с помощью этих данных; IGlobalRSCAQueryProvider Поэтому клиенты не должны освобождать или вызывать метод delete для возвращаемого BYTE указателя, если эти данные больше не нужны.

Требования

Тип Описание
клиент — 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

См. также:

Интерфейс IGlobalRSCAQueryProvider
Метод IGlobalRSCAQueryProvider::ResizeOutputBuffer