CommitUrlCacheEntryW 関数 (wininet.h)

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

構文

BOOL CommitUrlCacheEntryW(
  [in] LPCWSTR  lpszUrlName,
  [in] LPCWSTR  lpszLocalFileName,
  [in] FILETIME ExpireTime,
  [in] FILETIME LastModifiedTime,
  [in] DWORD    CacheEntryType,
  [in] LPWSTR   lpszHeaderInfo,
  [in] DWORD    cchHeaderInfo,
  [in] LPCWSTR  lpszFileExtension,
  [in] LPCWSTR  lpszOriginalUrl
);

パラメーター

[in] lpszUrlName

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

[in] lpszLocalFileName

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

[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] lpszHeaderInfo

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

[in] cchHeaderInfo

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

[in] lpszFileExtension

このパラメーターは予約済みであり、 NULL である必要があります。

[in] lpszOriginalUrl

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

戻り値

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

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

解説

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

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

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

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

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

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

Note

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

要件

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

関連項目

キャッシュ

WinINet 関数