Función HttpReadFragmentFromCache (http.h)
La función HttpReadFragmentFromCache recupera un fragmento de respuesta que tiene un nombre especificado de la memoria caché de la API del servidor HTTP.
Sintaxis
HTTPAPI_LINKAGE ULONG HttpReadFragmentFromCache(
[in] HANDLE RequestQueueHandle,
[in] PCWSTR UrlPrefix,
[in] PHTTP_BYTE_RANGE ByteRange,
[out] PVOID Buffer,
[in] ULONG BufferLength,
[out] PULONG BytesRead,
[in] LPOVERLAPPED Overlapped
);
Parámetros
[in] RequestQueueHandle
Identificador de la cola de solicitudes con la que está asociado el fragmento de respuesta especificado. 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 contiene el nombre del fragmento que se va a recuperar. Debe coincidir con una cadena UrlPrefix usada en una llamada correcta anterior a HttpAddFragmentToCache.
[in] ByteRange
Puntero opcional a una estructura de HTTP_BYTE_RANGE que indica un desplazamiento inicial en el fragmento y el recuento de bytes especificados que se van a devolver. NULL si no se usa, en cuyo caso se devuelve todo el fragmento.
[out] Buffer
Puntero a un búfer en el que la función copia el fragmento solicitado.
[in] BufferLength
Tamaño, en bytes, del búfer de pBuffer .
[out] BytesRead
Puntero opcional a una variable que recibe el número de bytes que se van a escribir en el búfer de salida. Si BufferLength es menor que este número, se produce un error en la llamada con una devolución de ERROR_INSUFFICIENT_BUFFER y el valor al que apunta pBytesRead se puede usar para determinar la longitud mínima del búfer necesario para que la llamada se realice correctamente.
Al realizar una llamada asincrónica mediante pOverlapped, establezca pBytesRead en NULL. De lo contrario, cuando pOverlapped se establece en NULL, pBytesRead debe contener una dirección de memoria válida y no establecerse en NULL.
[in] 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 se bloquea 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 de E/S o GetOverlappedResult 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 completa 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. |
|
El búfer al que apunta pBuffer es demasiado pequeño para recibir todos los datos solicitados; pBytesRead señala el tamaño del búfer requerido a menos que fuera NULL o la llamada fuera asincrónica. En el caso de una llamada asincrónica, el valor al que apunta el parámetro lpNumberOfBytesTransferred de la función GetOverLappedResult se establece en el tamaño del búfer necesario. |
|
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 |