Funzione RetrieveUrlCacheEntryStreamA (wininet.h)
Fornisce il modo più efficiente e indipendente dall'implementazione per accedere ai dati della cache.
Sintassi
HANDLE RetrieveUrlCacheEntryStreamA(
[in] LPCSTR lpszUrlName,
[out] LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
[in, out] LPDWORD lpcbCacheEntryInfo,
[in] BOOL fRandomRead,
[in] DWORD dwReserved
);
Parametri
[in] lpszUrlName
Puntatore a una stringa con terminazione null contenente il nome di origine della voce della cache. Deve trattarsi di un nome univoco. La stringa del nome non deve contenere caratteri di escape.
[out] lpCacheEntryInfo
Puntatore a una struttura INTERNET_CACHE_ENTRY_INFO che riceve informazioni sulla voce della cache.
[in, out] lpcbCacheEntryInfo
Puntatore a una variabile che specifica le dimensioni, in byte, del buffer lpCacheEntryInfo . Quando la funzione restituisce, la variabile riceve il numero di byte copiati nel buffer o le dimensioni necessarie, in byte, del buffer. Si noti che questa dimensione del buffer deve contenere sia la struttura INTERNET_CACHE_ENTRY_INFO che le stringhe associate archiviate immediatamente dopo di essa.
[in] fRandomRead
Se il flusso è aperto per l'accesso casuale. Impostare il flag su TRUE per aprire il flusso per l'accesso casuale.
[in] dwReserved
Questo parametro è riservato e deve essere 0.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce un handle valido da usare nelle funzioni ReadUrlCacheEntryStream e UnlockUrlCacheEntryStream .
Se la funzione ha esito negativo, restituisce NULL. Per informazioni dettagliate sull'errore, chiamare GetLastError.
I valori di errore possibili includono quanto segue.
Codice restituito | Descrizione |
---|---|
|
La voce della cache specificata dal nome di origine non viene trovata nell'archiviazione della cache. |
|
Le dimensioni di lpCacheEntryInfo come specificato da lpdwCacheEntryInfoBufferSize non sono sufficienti per contenere tutte le informazioni. Il valore restituito in lpdwCacheEntryInfoBufferSize indica la dimensione del buffer necessaria per contenere tutte le informazioni. |
Commenti
RetrieveUrlCacheEntryStream non esegue alcuna analisi degli URL, quindi non verrà trovato un URL contenente un ancoraggio (#) nella cache, anche se la risorsa viene memorizzata nella cache. Ad esempio, se l'URL http://adatum.com/example.htm#sample viene passato, la funzione restituisce ERROR_FILE_NOT_FOUND anche se http://adatum.com/example.htm si trova nella cache.
I client della cache che non necessitano di dati URL sotto forma di file devono usare questa funzione per accedere ai dati per un determinato URL.
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
L'intestazione wininet.h definisce RetrieveUrlCacheEntryStream 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
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 |