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 キャッシュ エントリ。 |
|
外部で編集されたキャッシュ エントリ ファイル。 このキャッシュ エントリの種類は、清掃から除外されます。 |
|
通常のキャッシュ エントリ。新しいエントリの領域を回復するために削除できます。 |
|
部分的な応答キャッシュ エントリ。 |
|
固定キャッシュ エントリ。清掃から除外します。 |
|
現在、実装されていません。 |
|
現在、実装されていません。 |
|
表示済みのリンク キャッシュ エントリ。 |
[in] lpszHeaderInfo
ヘッダー情報を含むバッファーへのポインター。 このパラメーターが NULL でない場合、ヘッダー情報は、INTERNET_CACHE_ENTRY_INFO構造体の lpHeaderInfo メンバーで返される URL の拡張属性として扱われます。
[in] cchHeaderInfo
ヘッダー情報のサイズ (TCHAR)。 lpHeaderInfo が NULL でない場合、この値はヘッダー情報を格納するバッファーのサイズを示すと見なされます。 アプリケーションは、データの一部としてヘッダーを維持し、 lpHeaderInfo の NULL 値と共に cchHeaderInfo を提供できます。
[in] lpszFileExtension
このパラメーターは予約済みであり、 NULL である必要があります。
[in] lpszOriginalUrl
リダイレクトが発生した場合は、元の URL を含む文字列へのポインター。
戻り値
成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 考えられるエラー値を次に示します。
リターン コード | 説明 |
---|---|
|
キャッシュ ストレージがいっぱいです。 |
|
指定されたローカル ファイルが見つかりません。 |
解説
キャッシュ エントリを清掃から除外するには、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 またはグローバル オブジェクトのコンストラクターとデストラクター内から安全に呼び出すことはできません。
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 |