HttpReadFragmentFromCache 関数 (http.h)

HttpReadFragmentFromCache 関数は、指定された名前を持つ応答フラグメントを HTTP Server API キャッシュから取得します。

構文

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

パラメーター

[in] RequestQueueHandle

指定した応答フラグメントが関連付けられている要求キューを処理します。 要求キューが作成され、そのハンドルが HttpCreateRequestQueue 関数の呼び出しによって返されます。

Windows Server 2003 SP1 と Windows XP SP2: 要求キューへのハンドルは、 HttpCreateHttpHandle 関数によって作成されます。

[in] UrlPrefix

取得するフラグメントの名前を含む UrlPrefix 文字列 へのポインター。 これは、 HttpAddFragmentToCache の以前の正常な呼び出しで使用された UrlPrefix 文字列と一致する必要があります。

[in] ByteRange

指定したフラグメント内の開始オフセットと返されるバイト数を示す、 HTTP_BYTE_RANGE 構造体への省略可能なポインター。 使用 しない場合は NULL。この場合、フラグメント全体が返されます。

[out] Buffer

関数が要求されたフラグメントをコピーするバッファーへのポインター。

[in] BufferLength

pBuffer バッファーのサイズ (バイト単位)。

[out] BytesRead

出力バッファーに書き込まれるバイト数を受け取る変数への省略可能なポインター。 BufferLength がこの数より小さい場合、呼び出しはERROR_INSUFFICIENT_BUFFERの戻り値で失敗し、pBytesRead が指す値を使用して、呼び出しが成功するために必要なバッファーの最小長を決定できます。

pOverlapped を使用して非同期呼び出しを行う場合は、pBytesRead を NULL に設定します。 それ以外の場合、 pOverlappedNULL に設定されている場合、 pBytesRead には有効なメモリ アドレスを含める必要があり、 NULL に設定することはできません。

[in] Overlapped

非同期呼び出しの場合 は、pOverlappedOVERLAPPED 構造体をポイントするように設定するか、同期呼び出しの場合は NULL に設定 します

同期呼び出しはキャッシュ操作が完了するまでブロックしますが、非同期呼び出しはすぐにERROR_IO_PENDINGを返し、呼び出し元のアプリケーションは GetOverlappedResult または I/O 完了ポートを使用して操作がいつ完了するかを判断します。 同期に OVERLAPPED 構造体を使用する方法の詳細については、「 同期」と「重複した入力と出力」を参照してください。

戻り値

関数が成功した場合、戻り値はNO_ERROR。

関数が非同期的に使用される場合、戻り値ERROR_IO_PENDINGは、キャッシュ要求がキューに入れられ、通常の重複した I/O 完了メカニズムによって後で完了することを示します。

関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。

意味
ERROR_INVALID_PARAMETER
指定されたパラメーターの 1 つ以上が使用できない形式です。
ERROR_MORE_DATA
pBuffer が指すバッファーが小さすぎて、要求されたすべてのデータを受信できません。必要なバッファーのサイズは、null または呼び出しが非同期でない限り、pBytesRead によって指されます。 非同期呼び出しの場合、GetOverLappedResult 関数の lpNumberOfBytesTransferred パラメーターが指す値は、必要なバッファー サイズに設定されます。
その他
WinError.h で定義されている システム エラー コード

要件

要件
サポートされている最小のクライアント Windows Vista、SP2 を使用した Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー http.h
Library Httpapi.lib
[DLL] Httpapi.dll

こちらもご覧ください

HTTP Server API バージョン 1.0 関数

HttpAddFragmentToCache

HttpFlushResponseCache