Condividi tramite


Funzione CommitUrlCacheEntryA (wininet.h)

Archivia i dati nel file specificato nella cache Internet e li associa all'URL specificato.

Sintassi

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
);

Parametri

[in] lpszUrlName

Puntatore a una variabile stringa contenente il nome di origine della voce della cache. La stringa del nome deve essere univoca e non deve contenere caratteri di escape.

[in] lpszLocalFileName

Puntatore a una variabile stringa contenente il nome del file locale memorizzato nella cache. Deve essere lo stesso nome restituito da CreateUrlCacheEntryA.

[in] ExpireTime

struttura FILETIME che contiene la data e l'ora di scadenza (in ora media di Greenwich) del file memorizzato nella cache. Se la data e l'ora di scadenza sono sconosciute, impostare questo parametro su zero.

[in] LastModifiedTime

struttura FILETIME contenente la data e l'ora dell'ultima modifica (in ora di Greenwich) dell'URL memorizzato nella cache. Se la data e l'ora dell'ultima modifica sono sconosciute, impostare questo parametro su zero.

[in] CacheEntryType

Maschera di bit che indica il tipo di voce della cache e le relative proprietà. I tipi di voce della cache includono: voci di cronologia (URLHISTORY_CACHE_ENTRY), voci di cookie (COOKIE_CACHE_ENTRY) e contenuto normale memorizzato nella cache (NORMAL_CACHE_ENTRY).

Questo parametro può essere zero o più dei flag di proprietà seguenti e i flag del tipo di cache elencati di seguito.

Valore Significato
COOKIE_CACHE_ENTRY
Voce della cache dei cookie.
EDITED_CACHE_ENTRY
File di immissione della cache modificato esternamente. Questo tipo di voce della cache è esente da scavenging.
NORMAL_CACHE_ENTRY
Voce di cache normale; può essere eliminato per recuperare spazio per le nuove voci.
SPARSE_CACHE_ENTRY
Voce della cache di risposta parziale.
STICKY_CACHE_ENTRY
Voce della cache permanente; esente da scavenging.
TRACK_OFFLINE_CACHE_ENTRY
Attualmente non implementato.
TRACK_ONLINE_CACHE_ENTRY
Attualmente non implementato.
URLHISTORY_CACHE_ENTRY
Voce della cache dei collegamenti visitata.

[in] lpHeaderInfo

Puntatore al buffer che contiene le informazioni sull'intestazione. Se questo parametro non è NULL, le informazioni sull'intestazione vengono considerate come attributi estesi dell'URL restituiti nel lpHeaderInfo membro della struttura INTERNET_CACHE_ENTRY_INFO.

[in] cchHeaderInfo

Dimensioni delle informazioni sull'intestazione, in TCHAR. Se lpHeaderInfo non è null, si presuppone che questo valore indichi le dimensioni del buffer in cui sono archiviate le informazioni sull'intestazione. Un'applicazione può gestire le intestazioni come parte dei dati e fornire cchHeaderInfo insieme a un valore NULL per lpHeaderInfo.

[in] lpszFileExtension

Questo parametro è riservato e deve essere NULL.

[in] lpszOriginalUrl

Puntatore a una stringa contenente l'URL originale, se si è verificato il reindirizzamento.

Valore restituito

Restituisce TRUE in caso di esito positivo oppure FALSE in caso contrario. Per ottenere informazioni estese sull'errore, chiamare GetLastError. Di seguito sono riportati i possibili valori di errore.

Codice restituito Descrizione
ERROR_DISK_FULL
L'archiviazione della cache è piena.
ERROR_FILE_NOT_FOUND
Il file locale specificato non viene trovato.

Osservazioni

Il tipo STICKY_CACHE_ENTRY viene usato per rendere le voci della cache esentate dallo scavenging. Il tempo di esenzione predefinito per le voci impostate usando CommitUrlCacheEntryA è di dieci minuti. L'ora esentata può essere modificata impostando il parametro time di scadenza nella struttura INTERNET_CACHE_ENTRY_INFO nella chiamata alla funzione SetUrlCacheEntryInfo.

Se l'archiviazione della cache è piena, CommitUrlCacheEntryA richiama la pulizia della cache per creare spazio per questo nuovo file. Se la voce della cache esiste già, la funzione sovrascrive la voce se non è in uso. Una voce è in uso quando è stata recuperata con RetrieveUrlCacheEntryStream o RetrieveUrlCacheEntryFile.

I client che aggiungono voci alla cache devono impostare le intestazioni su almeno "HTTP/1.0 200 OK\r\n\r\n"; in caso contrario, Microsoft Internet Explorer e altre applicazioni client devono ignorare la voce.

Vedere memorizzazione nella cache per un esempio di codice che chiama CreateUrlCacheEntryA.

Come tutti gli altri aspetti dell'API WinINet, questa funzione non può essere chiamata in modo sicuro dall'interno di DllMain o dai costruttori e distruttori di oggetti globali.

Nota WinINet non supporta le implementazioni del server. Inoltre, non deve essere usato da un servizio. Per le implementazioni del server o i servizi, usare Servizi HTTP Di Microsoft Windows (WinHTTP).
 

Nota

L'intestazione wininet.h definisce CommitUrlCacheEntry come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione wininet.h
libreria Wininet.lib
dll Wininet.dll

Vedere anche

memorizzazione nella cache

funzioni WinINet