Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Изменяет размер и возвращает выходной BYTE массив.
Синтаксис
virtual HRESULT ResizeOutputBuffer(
DWORD cbNewBuffer,
DWORD cbBytesToCopy,
IN OUT BYTE** ppbBuffer
) = 0;
Параметры
cbNewBuffer
[IN] Объект DWORD , содержащий количество выделенных байтов.
cbBytesToCopy
[IN] Объект DWORD , содержащий количество байтов для копирования в ppbBuffer новый буфер.
ppbBuffer
[IN] [OUT] Указатель на BYTE массив, содержащий новый буфер.
Возвращаемое значение
Объект HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
| Значение | Определение |
|---|---|
| S_OK | Указывает, что операция выполнена успешно. |
| E_INVALIDARG | Указывает, что cbBytesToCopy больше cbNewBuffer. |
| E_OUTOFMEMORY | Указывает, что память кучи исчерпана. |
Комментарии
Производные классы CGlobalModule, которые регистрируются для событий GL_RSCA_QUERY, получают указатель IGlobalRscaQueryProvider в качестве параметра в методе CGlobalModule::OnGlobalRSCAQueryvirtual. Затем можно изменить размер текущего BYTE массива, вызвав ResizeOutputBuffer метод для указателя IGlobalRSCAQueryProvider .
Возвращаемое ResizeOutputBuffer значение зависит от реализации. В качестве руководства следует использовать следующие сведения, но они могут быть неправильными во всех сценариях:
Реализующий IGlobalRSCAQueryProvider объект объявляет private``BYTE указатель в качестве переменной-члена с именем buffer; при создании реализует инициализирует buffer значение NULL.
cbBytesToCopy Если параметр больше, чем параметр при ResizeOutputBuffer вызове cbNewBuffer , ResizeOutputBuffer немедленно возвращает E_INVALIDARG. В противном случае вызывается функция LocalAlloc для создания нового буфера размера cbNewBuffer, а содержимое ppbBuffer параметра (до длины cbBytesToCopy) копируется в этот новый буфер. Затем вызывается функция LocalFree для удаления частного буфера, который переназначается новому буферу. Затем private буфер возвращается в параметре разыменования ppbBuffer , если ResizeOutputBuffer возвращает 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::GetOutputBuffer