CommitUrlCacheEntryA 関数 (wininet.h)

指定したファイル内のデータをインターネット キャッシュに格納し、指定した URL に関連付けます。

構文

BOOL CommitUrlCacheEntryA(
  [in] LPCSTR   lpszUrlName,
  [in] LPCSTR   lpszLocalFileName,
  [in] FILETIME ExpireTime,
  [in] FILETIME LastModifiedTime,
  [in] DWORD    CacheEntryType,
  [in] LPBYTE   lpHeaderInfo,
  [in] DWORD    cchHeaderInfo,
  [in] LPCSTR   lpszFileExtension,
  [in] LPCSTR   lpszOriginalUrl
);

パラメーター

[in] lpszUrlName

キャッシュ エントリのソース名を含む文字列変数へのポインター。 名前文字列は一意である必要があり、エスケープ文字を含めてはなりません。

[in] lpszLocalFileName

キャッシュされているローカル ファイルの名前を含む文字列変数へのポインター。 これは、 CreateUrlCacheEntryA によって返される名前と同じである必要があります。

[in] ExpireTime

キャッシュされているファイルの有効期限日時 (グリニッジ標準時) を含む FILETIME 構造体。 有効期限の日付と時刻が不明な場合は、このパラメーターを 0 に設定します。

[in] LastModifiedTime

キャッシュされている URL の最終変更日時 (グリニッジ標準時) を含む FILETIME 構造体。 最後に変更された日時が不明な場合は、このパラメーターを 0 に設定します。

[in] CacheEntryType

キャッシュ エントリの種類とそのプロパティを示すビットマスク。 キャッシュ エントリの種類には、履歴エントリ (URLHISTORY_CACHE_ENTRY)、Cookie エントリ (COOKIE_CACHE_ENTRY)、および通常のキャッシュされたコンテンツ (NORMAL_CACHE_ENTRY) が含まれます。

このパラメーターには、次のプロパティ フラグと、以下に示すキャッシュ型フラグの 0 個以上を指定できます。

説明
COOKIE_CACHE_ENTRY
Cookie キャッシュ エントリ。
EDITED_CACHE_ENTRY
外部で編集されたキャッシュ エントリ ファイル。 このキャッシュ エントリの種類は、清掃から除外されます。
NORMAL_CACHE_ENTRY
通常のキャッシュ エントリ。新しいエントリの領域を回復するために削除できます。
SPARSE_CACHE_ENTRY
部分的な応答キャッシュ エントリ。
STICKY_CACHE_ENTRY
固定キャッシュ エントリ。清掃から除外します。
TRACK_OFFLINE_CACHE_ENTRY
現在、実装されていません。
TRACK_ONLINE_CACHE_ENTRY
現在、実装されていません。
URLHISTORY_CACHE_ENTRY
表示済みのリンク キャッシュ エントリ。

[in] lpHeaderInfo

ヘッダー情報を含むバッファーへのポインター。 このパラメーターが NULL でない場合、ヘッダー情報は、INTERNET_CACHE_ENTRY_INFO構造体の lpHeaderInfo メンバーで返される URL の拡張属性として扱われます。

[in] cchHeaderInfo

ヘッダー情報のサイズ (TCHAR)。 lpHeaderInfoNULL でない場合、この値はヘッダー情報を格納するバッファーのサイズを示すと見なされます。 アプリケーションは、データの一部としてヘッダーを維持し、cchHeaderInfolpHeaderInfoNULL 値を提供できます。

[in] lpszFileExtension

このパラメーターは予約されており、 NULL である必要があります。

[in] lpszOriginalUrl

リダイレクトが発生した場合は、元の URL を含む文字列へのポインター。

戻り値

成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 考えられるエラー値を次に示します。

リターン コード 説明
ERROR_DISK_FULL
キャッシュ ストレージがいっぱいです。
ERROR_FILE_NOT_FOUND
指定されたローカル ファイルが見つかりません。

解説

STICKY_CACHE_ENTRYの種類は、キャッシュ エントリを清掃から除外するために使用されます。 CommitUrlCacheEntryA を使用して設定されたエントリの既定の除外時間は 10 分です。 除外時間は、SetUrlCacheEntryInfo 関数の呼び出しで、INTERNET_CACHE_ENTRY_INFO構造体に expires time パラメーターを設定することで変更できます。

キャッシュ ストレージがいっぱいの場合、 CommitUrlCacheEntryA はキャッシュ クリーンアップを呼び出して、この新しいファイルの領域を作成します。 キャッシュ エントリが既に存在する場合、関数はエントリが使用されていない場合に上書きします。 エントリは、 RetrieveUrlCacheEntryStream または RetrieveUrlCacheEntryFile で取得されたときに使用されます。

キャッシュにエントリを追加するクライアントは、ヘッダーを少なくとも "HTTP/1.0 200 OK\r\n\r\n" に設定する必要があります。それ以外の場合、Microsoft インターネット エクスプローラーおよびその他のクライアント アプリケーションはエントリを無視する必要があります。

CreateUrlCacheEntryA を呼び出すコード例については、「キャッシュ」を参照してください。

WinINet API の他のすべての側面と同様に、この関数を DllMain またはグローバル オブジェクトのコンストラクターとデストラクター内から安全に呼び出すことはできません。

メモ WinINet では、サーバーの実装はサポートされていません。 また、サービスから使用しないでください。 サーバーの実装またはサービスの場合は、 Microsoft Windows HTTP サービス (WinHTTP) を使用します。
 

注意

wininet.h ヘッダーは、CommitUrlCacheEntry をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wininet.h
Library Wininet.lib
[DLL] Wininet.dll

関連項目

キャッシュ

WinINet 関数