Fonction RetrieveUrlCacheEntryFileA (wininet.h)

Verrouille le fichier d’entrée de cache associé à l’URL spécifiée.

Syntaxe

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

Paramètres

[in] lpszUrlName

Pointeur vers une chaîne qui contient l’URL de la ressource associée à 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 mémoire tampon d’informations d’entrée de cache. Si la mémoire tampon n’est pas suffisante, cette fonction retourne ERROR_INSUFFICIENT_BUFFER et définit lpdwCacheEntryInfoBufferSize sur le nombre d’octets requis.

[in, out] lpcbCacheEntryInfo

Pointeur vers une variable entière longue non signée qui spécifie la taille de la mémoire tampon lpCacheEntryInfo , en octets. Lorsque la fonction retourne, la variable contient la taille, en octets, de la mémoire tampon réelle utilisée ou le nombre d’octets requis pour récupérer le fichier d’entrée du cache. L’appelant doit case activée la valeur de retour dans ce paramètre. Si la taille de retour est inférieure ou égale à la taille passée, toutes les données pertinentes ont été retournées.

[in] dwReserved

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

Valeur retournée

Retourne TRUE en cas de réussite, ou FALSE dans le cas contraire. 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 la mémoire tampon 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 obtenir toutes les informations.

Remarques

RetrieveUrlCacheEntryFile n’effectue aucune analyse d’URL, de sorte qu’une URL contenant une ancre (#) est introuvable dans le cache, même si la ressource est mise en cache. Par exemple, si l’URL http://adatum.com/example.htm#sample a été passée, la fonction retourne ERROR_FILE_NOT_FOUND même si http://adatum.com/example.htm se trouve dans le cache.

Le fichier est verrouillé pour l’appelant lors de sa récupération ; l’appelant doit déverrouiller le fichier une fois que l’appelant a terminé avec le fichier. Le gestionnaire de cache déverrouille automatiquement les fichiers après un certain intervalle. Lorsque le fichier est verrouillé, le gestionnaire de cache ne supprime pas le fichier du cache. Il est important de noter que cette fonction peut ou non fonctionner efficacement, en fonction de l’implémentation interne du cache. Par instance, si les données d’URL sont stockées dans un fichier compressé contenant des données pour d’autres URL, le cache effectue une copie des données dans un fichier dans un répertoire temporaire géré par le cache. Le cache supprimera finalement la copie. Il est recommandé d’utiliser cette fonction uniquement dans les situations où un nom de fichier est nécessaire pour lancer une application. RetrieveUrlCacheEntryStream et les fonctions de flux associées doivent être utilisés dans la plupart des cas.

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 RetrieveUrlCacheEntryFile comme 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. La combinaison 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

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

Voir aussi

Mise en cache

Fonctions WinINet