Partager via


CommitUrlCacheEntryA, 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 CommitUrlCacheEntryA(
  [in] LPCSTR   lpszUrlName,
  [in] LPCSTR   lpszLocalFileName,
  [in] FILETIME ExpireTime,
  [in] FILETIME LastModifiedTime,
  [in] DWORD    CacheEntryType,
  [in] LPBYTE   lpHeaderInfo,
  [in] DWORD    cchHeaderInfo,
  [in] LPCSTR   lpszFileExtension,
  [in] LPCSTR   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 contenir aucun caractère 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 CreateUrlCacheEntryA.

[in] ExpireTime

structure FILETIME qui contient la date et l’heure d’expiration (en temps moyen 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 de Greenwich) de l’URL en cours de 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ée de cache sont les suivants : entrées d’historique (URLHISTORY_CACHE_ENTRY), entrées de cookie (COOKIE_CACHE_ENTRY) et contenu mis en cache normal (NORMAL_CACHE_ENTRY).

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

Valeur Signification
COOKIE_CACHE_ENTRY
Entrée du 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 la casse.
NORMAL_CACHE_ENTRY
Entrée de cache normale ; peut être supprimé pour récupérer de l’espace pour les nouvelles entrées.
SPARSE_CACHE_ENTRY
Entrée du cache de réponse partielle.
STICKY_CACHE_ENTRY
Entrée de cache sticky ; exempt de se venger.
TRACK_OFFLINE_CACHE_ENTRY
Non implémenté actuellement.
TRACK_ONLINE_CACHE_ENTRY
Non implémenté actuellement.
URLHISTORY_CACHE_ENTRY
Entrée du cache de liens visité.

[in] lpHeaderInfo

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 retournées dans le membre lpHeaderInfo de la structure INTERNET_CACHE_ENTRY_INFO.

[in] cchHeaderInfo

Taille des informations d’en-tête, dans TCHARs. Si lpHeaderInfo n’est pas 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 des en-têtes dans le cadre des données et fournir cchHeaderInfo avec une valeur de 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 de retour

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

Retourner le code 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 du cache de la casse. L’heure d’exemption par défaut pour les entrées définies à l’aide de CommitUrlCacheEntryA est de dix minutes. L’heure d’exemption peut être modifiée en définissant le paramètre d’heure d’expiration dans la structure INTERNET_CACHE_ENTRY_INFO dans l’appel à la fonction SetUrlCacheEntryInfo.

Si le stockage du cache est plein, CommitUrlCacheEntryA appelle le nettoyage du cache pour rendre l’espace pour ce nouveau fichier. Si l’entrée du cache existe déjà, la fonction remplace l’entrée si elle n’est pas utilisée. 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 des exemples de code appelant CreateUrlCacheEntryA.

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