Función HttpAddFragmentToCache (http.h)
La función HttpAddFragmentToCache almacena en caché un fragmento de datos con un nombre especificado por el que se puede recuperar o actualiza los datos almacenados en caché con un nombre especificado. Estos fragmentos de datos almacenados en caché se pueden usar repetidamente para construir respuestas dinámicas sin el gasto de lecturas de disco. Por ejemplo, una respuesta compuesta de texto y tres imágenes se podría ensamblar dinámicamente a partir de cuatro o más fragmentos almacenados en caché en el momento en que se procesa una solicitud.
Sintaxis
HTTPAPI_LINKAGE ULONG HttpAddFragmentToCache(
[in] HANDLE RequestQueueHandle,
[in] PCWSTR UrlPrefix,
[in] PHTTP_DATA_CHUNK DataChunk,
[in] PHTTP_CACHE_POLICY CachePolicy,
[in, optional] LPOVERLAPPED Overlapped
);
Parámetros
[in] RequestQueueHandle
Identificador de la cola de solicitudes con la que está asociada esta memoria caché. Se crea una cola de solicitudes y se devuelve su identificador mediante una llamada a la función HttpCreateRequestQueue .
Windows Server 2003 con SP1 y Windows XP con SP2: El identificador de la cola de solicitudes se crea mediante la función HttpCreateHttpHandle .
[in] UrlPrefix
Puntero a una cadena UrlPrefix que la aplicación usa en llamadas posteriores a HttpSendHttpResponse para identificar esta entrada de caché. La aplicación debe haber llamado previamente a HttpAddUrl con el mismo identificador que en el parámetro ReqQueueHandle y con esta cadena UrlPrefix idéntica o un prefijo válido.
Al igual que cualquier UrlPrefix, esta cadena debe tener la forma "scheme://host:port/relativeURI"; por ejemplo, http://www.mysite.com:80/image1.gif
.
[in] DataChunk
Puntero a una estructura de HTTP_DATA_CHUNK que especifica un bloque de datos del cuerpo de la entidad que se va a almacenar en caché bajo el nombre al que apunta pUrlPrefix.
[in] CachePolicy
Puntero a una estructura de HTTP_CACHE_POLICY que especifica cómo se debe almacenar en caché este fragmento de datos.
[in, optional] Overlapped
Para las llamadas asincrónicas, establezca pOverlapped para que apunte a una estructura SUPERPUESTA o para llamadas sincrónicas, establézcalo en NULL.
Una llamada sincrónica bloquea el subproceso que realiza la llamada hasta que se completa la operación de caché, mientras que una llamada asincrónica devuelve inmediatamente ERROR_IO_PENDING y la aplicación que realiza la llamada usa puertos de finalización getOverlappedResult o E/S para determinar cuándo se completa la operación. Para obtener más información sobre el uso de estructuras SUPERPUESTAs para la sincronización, consulte Sincronización y entrada y salida superpuestas.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es NO_ERROR.
Si la función se usa de forma asincrónica, un valor devuelto de ERROR_IO_PENDING indica que la solicitud de caché se pone en cola y se completará más adelante a través de mecanismos de finalización de E/S superpuestos normales.
Si se produce un error en la función, el valor devuelto es uno de los siguientes códigos de error.
Valor | Significado |
---|---|
|
Uno o varios de los parámetros proporcionados están en forma inutilizable. |
|
Código de error del sistema definido en WinError.h. |
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista, Windows XP con SP2 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | http.h |
Library | Httpapi.lib |
Archivo DLL | Httpapi.dll |