Funzione HttpAddFragmentToCache (http.h)
La funzione HttpAddFragmentToCache memorizza nella cache un frammento di dati con un nome specificato in base al quale può essere recuperato o aggiorna i dati memorizzati nella cache con un nome specificato. Tali frammenti di dati memorizzati nella cache possono essere usati ripetutamente per costruire risposte dinamiche senza il costo delle letture su disco. Ad esempio, una risposta composta da testo e tre immagini può essere assemblata dinamicamente da quattro o più frammenti memorizzati nella cache al momento dell'elaborazione di una richiesta.
Sintassi
HTTPAPI_LINKAGE ULONG HttpAddFragmentToCache(
[in] HANDLE RequestQueueHandle,
[in] PCWSTR UrlPrefix,
[in] PHTTP_DATA_CHUNK DataChunk,
[in] PHTTP_CACHE_POLICY CachePolicy,
[in, optional] LPOVERLAPPED Overlapped
);
Parametri
[in] RequestQueueHandle
Gestire la coda di richieste a cui è associata questa cache. 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 usata dall'applicazione nelle chiamate successive a HttpSendHttpResponse per identificare questa voce della cache. L'applicazione deve avere chiamato HttpAddUrl in precedenza con lo stesso handle del parametro ReqQueueHandle e con questa stringa UrlPrefix identica o un prefisso valido.
Come qualsiasi UrlPrefix, questa stringa deve avere il formato "scheme://host:port/relativeURI"; ad esempio . http://www.mysite.com:80/image1.gif
[in] DataChunk
Puntatore a una struttura HTTP_DATA_CHUNK che specifica un blocco di dati del corpo dell'entità da memorizzare nella cache con il nome a cui punta pUrlPrefix.
[in] CachePolicy
Puntatore a una struttura HTTP_CACHE_POLICY che specifica come deve essere memorizzato nella cache questo frammento di dati.
[in, optional] 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 blocca il thread chiamante 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 verrà 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 |
---|---|
|
Uno o più parametri forniti sono in formato inutilizzabile. |
|
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 |