Freigeben über


HttpAddFragmentToCache-Funktion (http.h)

Die HttpAddFragmentToCache-Funktion speichert ein Datenfragment mit einem angegebenen Namen zwischen, mit dem es abgerufen werden kann, oder aktualisiert Daten, die unter einem angegebenen Namen zwischengespeichert werden. Solche zwischengespeicherten Datenfragmente können wiederholt verwendet werden, um dynamische Antworten ohne den Aufwand für Datenträgerlesevorgänge zu erstellen. Beispielsweise könnte eine Antwort, die aus Text und drei Bildern besteht, dynamisch aus vier oder mehr zwischengespeicherten Fragmenten zusammengestellt werden, wenn eine Anforderung verarbeitet wird.

Syntax

HTTPAPI_LINKAGE ULONG HttpAddFragmentToCache(
  [in]           HANDLE             RequestQueueHandle,
  [in]           PCWSTR             UrlPrefix,
  [in]           PHTTP_DATA_CHUNK   DataChunk,
  [in]           PHTTP_CACHE_POLICY CachePolicy,
  [in, optional] LPOVERLAPPED       Overlapped
);

Parameter

[in] RequestQueueHandle

Handle mit der Anforderungswarteschlange, der dieser Cache zugeordnet ist. Eine Anforderungswarteschlange wird erstellt, und ihr Handle wird durch einen Aufruf der HttpCreateRequestQueue-Funktion zurückgegeben.

Windows Server 2003 mit SP1 und Windows XP mit SP2: Das Handle für die Anforderungswarteschlange wird von der HttpCreateHttpHandle-Funktion erstellt.

[in] UrlPrefix

Zeiger auf eine UrlPrefix-Zeichenfolge , die die Anwendung in nachfolgenden Aufrufen von HttpSendHttpResponse verwendet, um diesen Cacheeintrag zu identifizieren. Die Anwendung muss httpAddUrl zuvor mit demselben Handle wie im ReqQueueHandle-Parameter und entweder mit dieser identischen UrlPrefix-Zeichenfolge oder einem gültigen Präfix aufgerufen haben.

Wie jedes UrlPrefix muss auch diese Zeichenfolge das Format "scheme://host:port/relativeURI" haben. beispiel: http://www.mysite.com:80/image1.gif.

[in] DataChunk

Zeiger auf eine HTTP_DATA_CHUNK-Struktur , die einen Entitätstextdatenblock angibt, der unter dem Namen zwischengespeichert werden soll, auf den pUrlPrefix verweist.

[in] CachePolicy

Zeiger auf eine HTTP_CACHE_POLICY-Struktur , die angibt, wie dieses Datenfragment zwischengespeichert werden soll.

[in, optional] Overlapped

Legen Sie für asynchrone Aufrufe pOverlapped so fest, dass er auf eine OVERLAPPED-Struktur verweist, oder legen Sie ihn für synchrone Aufrufe auf NULL fest.

Ein synchroner Aufruf blockiert den aufrufenden Thread, bis der Cachevorgang abgeschlossen ist, während ein asynchroner Aufruf sofort ERROR_IO_PENDING zurückgibt und die aufrufende Anwendung dann GetOverlappedResult - oder E/A-Abschlussports verwendet, um zu bestimmen, wann der Vorgang abgeschlossen ist. Weitere Informationen zur Verwendung von OVERLAPPED-Strukturen für die Synchronisierung finden Sie unter Synchronisierung und überlappende Eingabe und Ausgabe.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.

Wenn die Funktion asynchron verwendet wird, gibt der Rückgabewert ERROR_IO_PENDING an, dass die Cacheanforderung in die Warteschlange gestellt wird und später über normale überlappende E/A-Vervollständigungsmechanismen abgeschlossen wird.

Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.

Wert Bedeutung
ERROR_INVALID_PARAMETER
Mindestens einer der angegebenen Parameter ist in einer nicht verwendbaren Form vorhanden.
Andere
Ein in WinError.h definierter Systemfehlercode .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista, Windows XP mit SP2 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile http.h
Bibliothek Httpapi.lib
DLL Httpapi.dll

Weitere Informationen

Funktionen der HTTP-Server-API, Version 1.0

HttpFlushResponseCache

HttpReadFragmentFromCache