Función HttpReceiveRequestEntityBody (http.h)
La función HttpReceiveRequestEntityBody recibe datos adicionales del cuerpo de la entidad para una solicitud HTTP especificada.
Sintaxis
HTTPAPI_LINKAGE ULONG HttpReceiveRequestEntityBody(
[in] HANDLE RequestQueueHandle,
[in] HTTP_REQUEST_ID RequestId,
[in] ULONG Flags,
[out] PVOID EntityBuffer,
[in] ULONG EntityBufferLength,
[out, optional] PULONG BytesReturned,
[in, optional] LPOVERLAPPED Overlapped
);
Parámetros
[in] RequestQueueHandle
Identificador de la cola de solicitudes desde la que se van a recuperar los datos del cuerpo de la entidad especificados. Se crea una cola de solicitudes y su identificador devuelto por 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] RequestId
Identificador de la solicitud HTTP que contiene el cuerpo de la entidad recuperada. Este valor se devuelve en el miembro RequestId de la estructura HTTP_REQUEST mediante una llamada a la función HttpReceiveHttpRequest . Este valor no puede ser HTTP_NULL_ID.
[in] Flags
Este parámetro puede ser el siguiente valor de marca.
Windows Server 2003 con SP1 y Windows XP con SP2: Este parámetro está reservado y debe ser cero.
[out] EntityBuffer
Puntero a un búfer que recibe datos de cuerpo de entidad.
[in] EntityBufferLength
Tamaño, en bytes, del búfer al que apunta el parámetro pBuffer .
[out, optional] BytesReturned
Opcional. Puntero a una variable que recibe el tamaño, en bytes, de los datos del cuerpo de la entidad devueltos en el búfer de pBuffer .
Al realizar una llamada asincrónica mediante pOverlapped, establezca pBytesReceived enNULL. De lo contrario, cuando pOverlapped se establece en NULL, pBytesReceived debe contener una dirección de memoria válida y no establecerse en NULL.
[in, optional] Overlapped
Para las llamadas asincrónicas, establezca pOverlapped para que apunte a una estructura SUPERPUESTA ; para llamadas sincrónicas, establéztelo en NULL.
Una llamada sincrónica se bloquea hasta que se recuperan los datos del cuerpo de la entidad, 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, vea Sincronización y entrada y salida superpuestas.
Valor devuelto
Si la función se ejecuta 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 siguiente solicitud aún no está lista y se recupera 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 un formato inutilizable. |
|
El cuerpo de entidad especificado ya se ha recuperado completamente; en este caso, el valor al que apunta pBytesReceived no es significativo y pBuffer no debe examinarse. |
|
La aplicación que realiza la llamada no llamó a HttpInitialize antes de llamar a esta función. |
|
Código de error del sistema definido en WinError.h. |
Comentarios
Para recuperar un cuerpo de entidad completo, se espera que una aplicación llame a HttpReceiveRequestEntityBody, pasando nuevos búferes hasta que la función devuelva ERROR_HANDLE_EOF. Siempre que un búfer lleno de datos de cuerpo de entidad se copie correctamente y todavía haya más datos de cuerpo de entidad a la espera de recuperarse, la función devuelve NO_ERROR.
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 |
Consulte también
Funciones de la API de servidor HTTP versión 1.0