IGlobalRSCAQueryProvider::ResizeOutputBuffer (Método)
Cambia el tamaño y devuelve la matriz de salida BYTE
.
Sintaxis
virtual HRESULT ResizeOutputBuffer(
DWORD cbNewBuffer,
DWORD cbBytesToCopy,
IN OUT BYTE** ppbBuffer
) = 0;
Parámetros
cbNewBuffer
[IN] que DWORD
contiene el número de bytes que se van a asignar.
cbBytesToCopy
[IN] que DWORD
contiene el número de bytes desde el que se va a copiar ppbBuffer
en el nuevo búfer.
ppbBuffer
[IN] [OUT] Puntero a una BYTE
matriz que contiene el nuevo búfer.
Valor devuelto
Una clase HRESULT
. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.
Value | Definición |
---|---|
S_OK | Indica que la operación se realizó correctamente. |
E_INVALIDARG | Indica que es mayor que cbBytesToCopy cbNewBuffer . |
E_OUTOFMEMORY | Indica que se agota la memoria del montón. |
Comentarios
Las clases derivadas de CGlobalModule que se registran para eventos de GL_RSCA_QUERY reciben un puntero IGlobalRscaQueryProvider como parámetro en el método CGlobalModule::OnGlobalRSCAQueryvirtual
. A continuación, puede cambiar el tamaño de una matriz actual BYTE
llamando al ResizeOutputBuffer
método en el IGlobalRSCAQueryProvider
puntero.
El ResizeOutputBuffer
valor devuelto depende de la implementación. Debe usar la siguiente información como guía, pero puede que no sea correcta en todos los escenarios:
El IGlobalRSCAQueryProvider
implementador declara un private``BYTE
puntero como una variable miembro denominada buffer
; el implementador inicializa buffer
en NULL en la construcción. Si el cbBytesToCopy
parámetro es mayor que el cbNewBuffer
parámetro cuando ResizeOutputBuffer
se llama a , ResizeOutputBuffer
devuelve inmediatamente E_INVALIDARG. De lo contrario, se llama a la función LocalAlloc para crear un nuevo búfer de tamaño cbNewBuffer
y el contenido del ppbBuffer
parámetro (hasta la longitud de cbBytesToCopy
) se copia en este nuevo búfer. A continuación, se llama a la función LocalFree para eliminar el búfer privado, que se reasigna al nuevo búfer. A continuación, el private
búfer se devuelve en el parámetro desreferenciado ppbBuffer
si ResizeOutputBuffer
devuelve S_OK.
Importante Este método forma parte de la infraestructura de IIS 7 y no está pensado para usarse directamente desde el código.
Notas para los implementadores
IGlobalRSCAQueryProvider
los implementadores son responsables de la administración de memoria con estos datos; por lo tanto, IGlobalRSCAQueryProvider
los implementadores que usan la asignación de memoria dinámica deben liberarse o llamar delete
al BYTE
puntero cuando ya no sea necesario.
Notas para autores de la llamada
IGlobalRSCAQueryProvider
los implementadores son responsables de la administración de memoria con estos datos; por lo tanto, los IGlobalRSCAQueryProvider
clientes no deben liberar ni llamar delete
al puntero devuelto BYTE
cuando estos datos ya no son necesarios.
Requisitos
Tipo | Descripción |
---|---|
Remoto | - IIS 7.0 en Windows Vista - IIS 7.5 en Windows 7 - IIS 8.0 en Windows 8 - IIS 10.0 en Windows 10 |
Servidor | - IIS 7.0 en Windows Server 2008 - IIS 7.5 en Windows Server 2008 R2 - IIS 8.0 en Windows Server 2012 - IIS 8.5 en Windows Server 2012 R2 - IIS 10.0 en Windows Server 2016 |
Producto | - 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 |
Encabezado | Httpserv.h |
Consulte también
IGlobalRSCAQueryProvider (Interfaz)
IGlobalRSCAQueryProvider::GetOutputBuffer (Método)