Fonction InternetQueryDataAvailable (wininet.h)
Interroge le serveur pour déterminer la quantité de données disponible.
Syntaxe
BOOL InternetQueryDataAvailable(
[in] HINTERNET hFile,
[out] LPDWORD lpdwNumberOfBytesAvailable,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
Paramètres
[in] hFile
Handle retourné par la fonction InternetOpenUrl, FtpOpenFile, GopherOpenFile ou HttpOpenRequest .
[out] lpdwNumberOfBytesAvailable
Pointeur vers une variable qui reçoit le nombre d’octets disponibles. Peut être NULL.
[in] dwFlags
Ce paramètre est réservé et doit être 0.
[in] dwContext
Ce paramètre est réservé et doit être 0.
Valeur retournée
Retourne TRUE si la fonction réussit, ou FALSE dans le cas contraire. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError. Si la fonction ne trouve aucun fichier correspondant, GetLastError retourne ERROR_NO_MORE_FILES.
Remarques
Cette fonction retourne le nombre d’octets de données disponibles pour être lues immédiatement par un appel suivant à InternetReadFile. S’il n’existe actuellement aucune donnée disponible et que la fin du fichier n’a pas été atteinte, la demande attend que les données soient disponibles. La quantité de données restantes n’est pas recalculée tant que toutes les données disponibles indiquées par l’appel à InternetQueryDataAvailable n’ont pas été lues.
Pour les handles HINTERNET créés par HttpOpenRequest et envoyés par HttpSendRequestEx, un appel à HttpEndRequest doit être effectué sur le handle avant qu’InternetQueryDataAvailable puisse être utilisé.
Comme tous les autres aspects de l’API WinINet, cette fonction ne peut pas être appelée en toute sécurité à partir de DllMain ou des constructeurs et destructeurs d’objets globaux.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wininet.h |
Bibliothèque | Wininet.lib |
DLL | Wininet.dll |