Partager via


RetrieveUrlCacheEntryStreamA, fonction (wininet.h)

Fournit la méthode la plus efficace et indépendante 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. 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 structure 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 tampon. Lorsque la fonction est retournée, 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 fois la structure INTERNET_CACHE_ENTRY_INFO et les chaînes associées qui sont stockées immédiatement après celle-ci.

[in] fRandomRead

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

[in] dwReserved

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

Valeur de retour

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’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 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’analyse aucune URL. Par conséquent, une URL contenant une ancre (#) ne se trouve pas dans le cache, même si la ressource est mise en cache. Par exemple, si l’URL http://adatum.com/example.htm#sample est passée, 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 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.

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