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
ERROR_FILE_NOT_FOUND
La voce della cache specificata dal nome di origine non viene trovata nell'archiviazione della cache.
ERROR_INSUFFICIENT_BUFFER
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 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 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

Vedi anche

Memorizzazione nella cache

Funzioni WinINet