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 |
---|---|
|
L’entrée de cache spécifiée par le nom source est introuvable dans le stockage du cache. |
|
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.
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 |