Condividi tramite


Funzione CreateUrlCacheEntryA (wininet.h)

Crea un nome di file locale per salvare la voce della cache in base all'URL specificato e all'estensione del nome file.

Sintassi

BOOL CreateUrlCacheEntryA(
  [in]  LPCSTR lpszUrlName,
  [in]  DWORD  dwExpectedFileSize,
  [in]  LPCSTR lpszFileExtension,
  [out] LPSTR  lpszFileName,
  [in]  DWORD  dwReserved
);

Parametri

[in] lpszUrlName

Puntatore a un valore stringa che contiene il nome dell'URL. La stringa deve contenere un valore; una stringa vuota causerà l'esito negativo di CreateUrlCacheEntry. Inoltre, la stringa non deve contenere caratteri di escape.

[in] dwExpectedFileSize

Dimensioni previste del file necessarie per archiviare i dati che corrispondono all'entità di origine, in TCHAR. Se le dimensioni previste sono sconosciute, impostare questo valore su zero.

[in] lpszFileExtension

Puntatore a un valore stringa che contiene un nome di estensione del file nella risorsa di archiviazione locale.

[out] lpszFileName

Puntatore a un buffer che riceve il nome del file. Il buffer deve essere sufficientemente grande da archiviare il percorso del file creato (almeno MAX_PATH caratteri di lunghezza).

[in] dwReserved

Questo parametro è riservato e deve essere 0.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce TRUE.

Se la funzione non riesce, restituisce FALSE. Per ottenere informazioni estese sull'errore, chiamare GetLastError.

Osservazioni

Dopo aver chiamato CreateUrlCacheEntry, l'applicazione può scrivere direttamente nel file nella risorsa di archiviazione locale. Quando il file viene ricevuto completamente, il chiamante deve chiamare CommitUrlCacheEntry per eseguire il commit della voce nella cache.

WinINet tenta di decodificare i parametri Unicode in base alla tabella codici di sistema. Le applicazioni devono assicurarsi che i parametri Unicode siano codificati correttamente per la tabella codici di sistema. Le applicazioni possono impostare la tabella codici di sistema con InternetSetOption come illustrato nell'esempio di codice seguente:

DWORD CP_SHIFT_JIS = 932;  // ANSI/OEM  Japanese, Shift-JIS
InternetSetOption( hRequest,
                   INTERNET_OPTION_CODEPAGE,
                   &CP_SHIFT_JIS,
                   sizeof(DWORD) );

Se il parametro Unicode non è codificato correttamente nella tabella codici di sistema, WinINet tenta di decodifica UTF8.

Quando gli elementi vengono recuperati dalla cache, la tabella codici di sistema usata per inserire l'elemento nella cache deve corrispondere alla tabella codici di sistema corrente per l'utente. Per le applicazioni in esecuzione in Internet Explorer 6 e versioni precedenti, se la decodifica per la tabella codici di sistema ha esito negativo, WinINet tenta la decodifica UTF8.

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

CommitUrlCacheEntry

funzioni WinINet