Funzione CreateUrlCacheEntryA (wininet.h)

Crea un nome 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 contenente 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 necessario per archiviare i dati corrispondenti all'entità di origine, in TCHARs. Se le dimensioni previste sono sconosciute, impostare questo valore su zero.

[in] lpszFileExtension

Puntatore a un valore stringa contenente un nome di estensione del file nell'archiviazione locale.

[out] lpszFileName

Puntatore a un buffer che riceve il nome del file. Il buffer deve essere abbastanza grande per archiviare il percorso del file creato (almeno MAX_PATH caratteri in 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 ha esito negativo, restituisce FALSE. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Dopo aver chiamato CreateUrlCacheEntry , l'applicazione può scrivere direttamente nel file nell'archiviazione locale. Quando il file viene completamente ricevuto, 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 del 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 decodificare 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 IE6 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 degli oggetti globali.

Nota WinINet non supporta le implementazioni del server. Inoltre, non deve essere usato da un servizio. Per le implementazioni o i servizi server usano Microsoft Windows HTTP Services (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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wininet.h
Libreria Wininet.lib
DLL Wininet.dll

Vedi anche

Memorizzazione nella cache

CommitUrlCacheEntry

Funzioni WinINet