Partager via


RetrieveUrlCacheEntryFileA, fonction (wininet.h)

Verrouille le fichier d’entrée du 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 du cache. Il doit s’agir d’un nom unique. La chaîne de nom ne doit contenir aucun caractère 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 au 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 tampon, en octets. Lorsque la fonction est retournée, 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 vérifier 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 de retour

Retourne TRUE en cas de réussite ou FALSE sinon. Pour obtenir des informations d’erreur étendues, appelez GetLastError. Les valeurs d’erreur possibles sont les suivantes :

Retourner le code 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’analyse aucune 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 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 lorsqu’il est récupéré ; l’appelant doit déverrouiller le fichier une fois l’appelant terminé avec le fichier. Le gestionnaire de cache déverrouille automatiquement les fichiers après un certain intervalle. Pendant que 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 exemple, si les données d’URL sont stockées dans un fichier pack qui contient 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 va éventuellement supprimer 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ées 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.

Remarque 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).
 

Note

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. 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête wininet.h
bibliothèque Wininet.lib
DLL Wininet.dll

Voir aussi

mise en cache

fonctions WinINet