Condividi tramite


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 essere 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 termina, 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

Indica 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 per l'uso nelle funzioni ReadUrlCacheEntryStream e UnlockUrlCacheEntryStream.

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

I possibili valori di errore 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 specificate da lpdwCacheEntryInfoBufferSize non sono sufficienti per contenere tutte le informazioni. Il valore restituito in lpdwCacheEntryInfoBufferSize indica le dimensioni del buffer necessarie per contenere tutte le informazioni.

Osservazioni

RetrieveUrlCacheEntryStream non esegue l'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 viene passato l'URL http://adatum.com/example.htm#sample, 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 URL specifico.

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