Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 cbBytesToCopycbNewBuffer. |
| 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 cbNewBuffery 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)