HttpReadFragmentFromCache-Funktion (http.h)

Die HttpReadFragmentFromCache-Funktion ruft ein Antwortfragment mit einem angegebenen Namen aus dem HTTP-Server-API-Cache ab.

Syntax

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
);

Parameter

[in] RequestQueueHandle

Behandeln Sie die Anforderungswarteschlange, der das angegebene Antwortfragment 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 den Namen des abzurufenden Fragments enthält. Dies muss mit einer UrlPrefix-Zeichenfolge übereinstimmen, die in einem vorherigen erfolgreichen Aufruf von HttpAddFragmentToCache verwendet wurde.

[in] ByteRange

Optionaler Zeiger auf eine HTTP_BYTE_RANGE Struktur, die einen Startoffset im angegebenen Fragment und die zurückzugebende Byteanzahl angibt. NULL , wenn nicht verwendet, in diesem Fall wird das gesamte Fragment zurückgegeben.

[out] Buffer

Zeiger auf einen Puffer, in den die Funktion das angeforderte Fragment kopiert.

[in] BufferLength

Größe des pBuffer-Puffers in Bytes.

[out] BytesRead

Optionaler Zeiger auf eine Variable, die die Anzahl von Bytes empfängt, die in den Ausgabepuffer geschrieben werden sollen. Wenn BufferLength kleiner als diese Zahl ist, schlägt der Aufruf mit einer Rückgabe von ERROR_INSUFFICIENT_BUFFER fehl, und der Wert, auf den pBytesRead verweist, kann verwendet werden, um die mindeste Pufferlänge zu bestimmen, die für den erfolgreichen Aufruf erforderlich ist.

Legen Sie bei einem asynchronen Aufruf mit pOverlappedpBytesRead auf NULL fest. Andernfalls muss pBytesRead eine gültige Speicheradresse enthalten und nicht auf NULL festgelegt werden, wenn pOverlapped auf NULL festgelegt ist.

[in] Overlapped

Legen Sie bei asynchronen Aufrufen pOverlapped auf eine OVERLAPPED-Struktur fest, oder legen Sie sie bei synchronen Aufrufen auf NULL fest.

Ein synchroner Aufruf blockiert, bis der Cachevorgang abgeschlossen ist, während ein asynchroner Aufruf sofort ERROR_IO_PENDING zurückgibt, und die aufrufende Anwendung verwendet dann GetOverlappedResult - oder E/A-Vervollständigungsports, 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 eine 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.
ERROR_MORE_DATA
Der Puffer, auf den pBuffer verweist, ist zu klein, um alle angeforderten Daten zu empfangen. die erforderliche Puffergröße wird von pBytesRead angegeben, es sei denn, es war NULL oder der Aufruf war asynchron. Bei einem asynchronen Aufruf wird der Wert, auf den der lpNumberOfBytesTransferred-Parameter der GetOverLappedResult-Funktion verweist, auf die erforderliche Puffergröße festgelegt.
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

HttpAddFragmentToCache

HttpFlushResponseCache