CommitUrlCacheEntryW, fonction (wininet.h)

Stocke les données dans le fichier spécifié dans le cache Internet et les associe à l’URL spécifiée.

Syntaxe

BOOL CommitUrlCacheEntryW(
  [in] LPCWSTR  lpszUrlName,
  [in] LPCWSTR  lpszLocalFileName,
  [in] FILETIME ExpireTime,
  [in] FILETIME LastModifiedTime,
  [in] DWORD    CacheEntryType,
  [in] LPWSTR   lpszHeaderInfo,
  [in] DWORD    cchHeaderInfo,
  [in] LPCWSTR  lpszFileExtension,
  [in] LPCWSTR  lpszOriginalUrl
);

Paramètres

[in] lpszUrlName

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

[in] lpszLocalFileName

Pointeur vers une variable de chaîne qui contient le nom du fichier local mis en cache. Il doit s’agir du même nom que celui retourné par CreateUrlCacheEntryW.

[in] ExpireTime

STRUCTURE FILETIME qui contient la date et l’heure d’expiration (en heure moyenne de Greenwich) du fichier mis en cache. Si la date et l’heure d’expiration sont inconnues, définissez ce paramètre sur zéro.

[in] LastModifiedTime

STRUCTURE FILETIME qui contient la date et l’heure de la dernière modification (en heure moyenne de Greenwich) de l’URL mise en cache. Si la date et l’heure de la dernière modification sont inconnues, définissez ce paramètre sur zéro.

[in] CacheEntryType

Masque de bits indiquant le type d’entrée de cache et ses propriétés. Les types d’entrées de cache incluent : les entrées d’historique (URLHISTORY_CACHE_ENTRY), les entrées de cookie (COOKIE_CACHE_ENTRY) et le contenu mis en cache normal (NORMAL_CACHE_ENTRY).

Ce paramètre peut être égal à zéro ou plusieurs des indicateurs de propriété suivants et aux indicateurs de type de cache répertoriés ci-dessous.

Valeur Signification
COOKIE_CACHE_ENTRY
Entrée de cache de cookie.
EDITED_CACHE_ENTRY
Fichier d’entrée de cache qui a été modifié en externe. Ce type d’entrée de cache est exempt de nettoyage.
NORMAL_CACHE_ENTRY
Entrée de cache normale ; peut être supprimée pour récupérer de l’espace pour de nouvelles entrées.
SPARSE_CACHE_ENTRY
Entrée de cache de réponse partielle.
STICKY_CACHE_ENTRY
Entrée de cache permanent ; exempte de nettoyage.
TRACK_OFFLINE_CACHE_ENTRY
Actuellement non implémenté.
TRACK_ONLINE_CACHE_ENTRY
Actuellement non implémenté.
URLHISTORY_CACHE_ENTRY
Entrée de cache de lien visité.

[in] lpszHeaderInfo

Pointeur vers la mémoire tampon qui contient les informations d’en-tête. Si ce paramètre n’est pas NULL, les informations d’en-tête sont traitées comme des attributs étendus de l’URL qui sont retournés dans le membre lpHeaderInfo de la structure INTERNET_CACHE_ENTRY_INFO .

[in] cchHeaderInfo

Taille des informations d’en-tête, en TCHAR. Si lpHeaderInfo n’a pas la valeur NULL, cette valeur est supposée indiquer la taille de la mémoire tampon qui stocke les informations d’en-tête. Une application peut conserver les en-têtes dans le cadre des données et fournir cchHeaderInfo avec une valeur NULL pour lpHeaderInfo.

[in] lpszFileExtension

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

[in] lpszOriginalUrl

Pointeur vers une chaîne qui contient l’URL d’origine, si la redirection s’est produite.

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. Voici les valeurs d’erreur possibles.

Code de retour Description
ERROR_DISK_FULL
Le stockage du cache est plein.
ERROR_FILE_NOT_FOUND
Le fichier local spécifié est introuvable.

Remarques

Le type STICKY_CACHE_ENTRY est utilisé pour exempter les entrées de cache du nettoyage. La durée d’exemption par défaut pour les entrées définies à l’aide de CommitUrlCacheEntryW est de dix minutes. L’heure exemptée peut être modifiée en définissant le paramètre de temps d’expiration dans la structure INTERNET_CACHE_ENTRY_INFO dans l’appel à la fonction SetUrlCacheEntryInfo .

Si le stockage du cache est saturé, CommitUrlCacheEntryW appelle le nettoyage du cache pour faire de l’espace pour ce nouveau fichier. Si l’entrée de cache existe déjà, la fonction remplace l’entrée si elle n’est pas en cours d’utilisation. Une entrée est en cours d’utilisation lorsqu’elle a été récupérée avec RetrieveUrlCacheEntryStream ou RetrieveUrlCacheEntryFile.

Les clients qui ajoutent des entrées au cache doivent définir les en-têtes sur au moins « HTTP/1.0 200 OK\r\n\r\n » ; sinon, Microsoft Internet Explorer et d’autres applications clientes doivent ignorer l’entrée.

Consultez Mise en cache pour obtenir un exemple de code appelant CreateUrlCacheEntryW.

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 CommitUrlCacheEntry en tant qu’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

   
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