Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Creates a new BYTE array.
Syntax
virtual HRESULT GetOutputBuffer(
DWORD cbBuffer,
OUT BYTE** ppbBuffer
) = 0;
Parameters
cbBuffer
[IN] A DWORD that contains the number of bytes to allocate.
ppbBuffer
[OUT] A pointer to a BYTE array that contains the new buffer.
Return Value
An HRESULT. Possible values include, but are not limited to, those in the following table.
| Value | Definition |
|---|---|
| S_OK | Indicates that the operation was successful. |
| E_OUTOFMEMORY | Indicates that heap memory is exhausted. |
Remarks
CGlobalModule derived classes that register for GL_RSCA_QUERY events receive an IGlobalRscaQueryProvider pointer as a parameter on the CGlobalModule::OnGlobalRSCAQueryvirtual method. You can then retrieve a new BYTE array by calling the GetOutputBuffer method on the IGlobalRSCAQueryProvider pointer.
The GetOutputBuffer return value depends on implementation. You should use the following information as a guideline, but it may not be correct in all scenarios:
The IGlobalRSCAQueryProvider implementer declares a private BYTE pointer as a member variable called buffer; the implementer initializes buffer to NULL at construction. If buffer is not NULL when GetOutputBuffer is called, the LocalFree function is called on buffer. The LocalAlloc function is called to assign buffer to a new BYTE array of size cbBuffer on the heap. buffer is then returned in the dereferenced ppbBuffer parameter if GetOutputBuffer returns S_OK.
Important This method is part of the IIS 7 infrastructure and is not intended to be used directly from your code.
Notes for Implementers
IGlobalRSCAQueryProvider implementers are responsible for memory management with this data; therefore, IGlobalRSCAQueryProvider implementers that use dynamic memory allocation must release or call delete on the BYTE pointer when it is no longer needed.
Notes for Callers
IGlobalRSCAQueryProvider implementers are responsible for memory management with this data; therefore, IGlobalRSCAQueryProvider clients must not release or call delete on the returned BYTE pointer when this data is no longer needed.
Requirements
| Type | Description |
|---|---|
| Client | - IIS 7.0 on Windows Vista - IIS 7.5 on Windows 7 - IIS 8.0 on Windows 8 - IIS 10.0 on Windows 10 |
| Server | - IIS 7.0 on Windows Server 2008 - IIS 7.5 on Windows Server 2008 R2 - IIS 8.0 on Windows Server 2012 - IIS 8.5 on Windows Server 2012 R2 - IIS 10.0 on Windows Server 2016 |
| Product | - 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 |
See Also
IGlobalRSCAQueryProvider Interface
IGlobalRSCAQueryProvider::ResizeOutputBuffer Method