Condividi tramite


Funzione HttpReadFragmentFromCache (http.h)

La funzione HttpReadFragmentFromCache recupera un frammento di risposta con un nome specificato dalla cache dell'API del server HTTP.

Sintassi

HTTPAPI_LINKAGE ULONG HttpReadFragmentFromCache(
  [in]  HANDLE           RequestQueueHandle,
  [in]  PCWSTR           UrlPrefix,
  [in]  PHTTP_BYTE_RANGE ByteRange,
  [out] PVOID            Buffer,
  [in]  ULONG            BufferLength,
  [out] PULONG           BytesRead,
  [in]  LPOVERLAPPED     Overlapped
);

Parametri

[in] RequestQueueHandle

Gestire la coda di richieste a cui è associato il frammento di risposta specificato. Viene creata una coda di richieste e il relativo handle restituito da una chiamata alla funzione HttpCreateRequestQueue .

Windows Server 2003 con SP1 e Windows XP con SP2: L'handle per la coda di richieste viene creato dalla funzione HttpCreateHttpHandle .

[in] UrlPrefix

Puntatore a una stringa UrlPrefix contenente il nome del frammento da recuperare. Deve corrispondere a una stringa UrlPrefix usata in una precedente chiamata riuscita a HttpAddFragmentToCache.

[in] ByteRange

Puntatore facoltativo a una struttura HTTP_BYTE_RANGE che indica un offset iniziale nel frammento e nel conteggio dei byte specificato da restituire. NULL se non viene utilizzato, nel qual caso viene restituito l'intero frammento.

[out] Buffer

Puntatore a un buffer in cui la funzione copia il frammento richiesto.

[in] BufferLength

Dimensioni, in byte, del buffer pBuffer .

[out] BytesRead

Puntatore facoltativo a una variabile che riceve il numero di byte da scrivere nel buffer di output. Se BufferLength è minore di questo numero, la chiamata ha esito negativo con una restituzione di ERROR_INSUFFICIENT_BUFFER e il valore a cui punta pBytesRead può essere utilizzato per determinare la lunghezza minima del buffer necessaria per il completamento della chiamata.

Quando si effettua una chiamata asincrona tramite pOverlapped, impostare pBytesRead su NULL. In caso contrario, quando pOverlapped è impostato su NULL, pBytesRead deve contenere un indirizzo di memoria valido e non essere impostato su NULL.

[in] Overlapped

Per le chiamate asincrone, impostare pOverlapped in modo che punti a una struttura OVERLAPPED o per le chiamate sincrone, impostarla su NULL.

Una chiamata sincrona si blocca fino al completamento dell'operazione di cache, mentre una chiamata asincrona restituisce immediatamente ERROR_IO_PENDING e l'applicazione chiamante usa quindi le porte di completamento GetOverlappedResult o I/O per determinare quando l'operazione viene completata. Per altre informazioni sull'uso di strutture OVERLAPPED per la sincronizzazione, vedere Sincronizzazione e input e output sovrapposti.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene NO_ERROR.

Se la funzione viene usata in modo asincrono, un valore restituito di ERROR_IO_PENDING indica che la richiesta di cache viene accodata e viene completata in un secondo momento tramite normali meccanismi di completamento di I/O sovrapposti.

Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti.

Valore Significato
ERROR_INVALID_PARAMETER
Uno o più parametri forniti sono in formato inutilizzabile.
ERROR_MORE_DATA
Il buffer a cui punta pBuffer è troppo piccolo per ricevere tutti i dati richiesti; le dimensioni del buffer necessarie sono indicate da pBytesRead a meno che non fosse NULL o che la chiamata fosse asincrona. Nel caso di una chiamata asincrona, il valore a cui punta il parametro lpNumberOfBytesTransferred della funzione GetOverLappedResult viene impostato sulla dimensione del buffer richiesta.
Altri
Codice di errore di sistema definito in WinError.h.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista, Windows XP con SP2 [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione http.h
Libreria Httpapi.lib
DLL Httpapi.dll

Vedi anche

Funzioni dell'API server HTTP versione 1.0

HttpAddFragmentToCache

HttpFlushResponseCache