Fonction HttpReceiveRequestEntityBody (http.h)
La fonction HttpReceiveRequestEntityBody reçoit des données de corps d’entité supplémentaires pour une requête HTTP spécifiée.
Syntaxe
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
);
Paramètres
[in] RequestQueueHandle
Handle de la file d’attente de requête à partir de laquelle récupérer les données de corps d’entité spécifiées. Une file d’attente de requêtes est créée et son handle est retourné par un appel à la fonction HttpCreateRequestQueue .
Windows Server 2003 avec SP1 et Windows XP avec SP2 : Le handle de la file d’attente de requête est créé par la fonction HttpCreateHttpHandle .
[in] RequestId
Identificateur de la requête HTTP qui contient le corps de l’entité récupérée. Cette valeur est retournée dans le membre RequestId de la structure HTTP_REQUEST par un appel à la fonction HttpReceiveHttpRequest . Cette valeur ne peut pas être HTTP_NULL_ID.
[in] Flags
Ce paramètre peut être la valeur d’indicateur suivante.
Windows Server 2003 avec SP1 et Windows XP avec SP2 : Ce paramètre est réservé et doit être égal à zéro.
[out] EntityBuffer
Pointeur vers une mémoire tampon qui reçoit des données de corps d’entité.
[in] EntityBufferLength
Taille, en octets, de la mémoire tampon pointée vers le paramètre pBuffer .
[out, optional] BytesReturned
facultatif. Pointeur vers une variable qui reçoit la taille, en octets, des données de corps d’entité retournées dans la mémoire tampon pBuffer .
Lorsque vous effectuez un appel asynchrone à l’aide de pOverlapped, définissez pBytesReceived surNULL. Sinon, lorsque pOverlapped a la valeur NULL, pBytesReceived doit contenir une adresse mémoire valide et ne pas avoir la valeur NULL.
[in, optional] Overlapped
Pour les appels asynchrones, définissez pOverlapped pour qu’il pointe vers une structure CHEVAUCHEMENT ; pour les appels synchrones, définissez-le sur NULL.
Un appel synchrone est bloqué jusqu’à ce que les données du corps de l’entité soient récupérées, tandis qu’un appel asynchrone retourne immédiatement ERROR_IO_PENDING et l’application appelante utilise alors les ports d’achèvement GetOverlappedResult ou d’E/S pour déterminer quand l’opération est terminée. Pour plus d’informations sur l’utilisation des structures OVERLAPPED pour la synchronisation, consultez Synchronisation et entrées et sorties qui se chevauchent.
Valeur retournée
Si la fonction réussit, la valeur de retour est NO_ERROR.
Si la fonction est utilisée de manière asynchrone, une valeur de retour de ERROR_IO_PENDING indique que la requête suivante n’est pas encore prête et qu’elle est récupérée ultérieurement par le biais de mécanismes d’achèvement d’E/S qui se chevauchent normalement.
Si la fonction échoue, la valeur de retour est l’un des codes d’erreur suivants.
Valeur | Signification |
---|---|
|
Un ou plusieurs des paramètres fournis sont sous une forme inutilisable. |
|
Le corps d’entité spécifié a déjà été entièrement récupéré ; dans ce cas, la valeur indiquée par pBytesReceived n’est pas significative et pBuffer ne doit pas être examinée. |
|
L’application appelante n’a pas appelé HttpInitialize avant d’appeler cette fonction. |
|
Code d’erreur système défini dans WinError.h. |
Remarques
Pour récupérer l’intégralité d’un corps d’entité, une application doit appeler HttpReceiveRequestEntityBody, en passant de nouvelles mémoires tampons, jusqu’à ce que la fonction retourne ERROR_HANDLE_EOF. Tant qu’une mémoire tampon remplie de données de corps d’entité est correctement copiée et que d’autres données de corps d’entité sont en attente d’être récupérées, la fonction retourne NO_ERROR.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista, Windows XP avec SP2 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | http.h |
Bibliothèque | Httpapi.lib |
DLL | Httpapi.dll |
Voir aussi
Fonctions API de serveur HTTP version 1.0