Fonction RetrieveUrlCacheEntryStreamA (wininet.h)

Fournit le moyen le plus efficace et indépendant de l’implémentation pour accéder aux données du cache.

Syntaxe

HANDLE RetrieveUrlCacheEntryStreamA(
  [in]      LPCSTR                       lpszUrlName,
  [out]     LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
  [in, out] LPDWORD                      lpcbCacheEntryInfo,
  [in]      BOOL                         fRandomRead,
  [in]      DWORD                        dwReserved
);

Paramètres

[in] lpszUrlName

Pointeur vers une chaîne terminée par null qui contient le nom source de l’entrée de cache. Ce nom doit être unique. La chaîne de nom ne doit pas contenir de caractères d’échappement.

[out] lpCacheEntryInfo

Pointeur vers une structure de INTERNET_CACHE_ENTRY_INFO qui reçoit des informations sur l’entrée du cache.

[in, out] lpcbCacheEntryInfo

Pointeur vers une variable qui spécifie la taille, en octets, de la mémoire tampon lpCacheEntryInfo . Lorsque la fonction retourne, la variable reçoit le nombre d’octets copiés dans la mémoire tampon ou la taille requise, en octets, de la mémoire tampon. Notez que cette taille de mémoire tampon doit prendre en charge la structure INTERNET_CACHE_ENTRY_INFO et les chaînes associées qui sont stockées immédiatement après.

[in] fRandomRead

Indique si le flux est ouvert pour un accès aléatoire. Définissez l’indicateur sur TRUE pour ouvrir le flux pour un accès aléatoire.

[in] dwReserved

Ce paramètre est réservé et doit être 0.

Valeur retournée

Si la fonction réussit, la fonction retourne un handle valide à utiliser dans les fonctions ReadUrlCacheEntryStream et UnlockUrlCacheEntryStream .

Si la fonction échoue, elle retourne NULL. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Les valeurs d’erreur possibles sont les suivantes.

Code de retour Description
ERROR_FILE_NOT_FOUND
L’entrée de cache spécifiée par le nom source est introuvable dans le stockage du cache.
ERROR_INSUFFICIENT_BUFFER
La taille de lpCacheEntryInfo spécifiée par lpdwCacheEntryInfoBufferSize n’est pas suffisante pour contenir toutes les informations. La valeur retournée dans lpdwCacheEntryInfoBufferSize indique la taille de mémoire tampon nécessaire pour contenir toutes les informations.

Remarques

RetrieveUrlCacheEntryStream n’effectue pas d’analyse d’URL. Par conséquent, une URL contenant une ancre (#) n’est pas trouvée dans le cache, même si la ressource est mise en cache. Par exemple, si l’URL http://adatum.com/example.htm#sample est transmise, la fonction retourne ERROR_FILE_NOT_FOUND même si http://adatum.com/example.htm se trouve dans le cache.

Les clients de cache qui n’ont pas besoin de données d’URL sous la forme d’un fichier doivent utiliser cette fonction pour accéder aux données d’une URL particulière.

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.

Note WinINet ne prend pas en charge les implémentations de serveur. En outre, il ne doit pas être utilisé à partir d’un service. Pour les implémentations de serveur ou les services, utilisez Microsoft Windows HTTP Services (WinHTTP).
 

Notes

L’en-tête wininet.h définit RetrieveUrlCacheEntryStream comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

   
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

Voir aussi

Mise en cache

Fonctions WinINet