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 キャッシュ エントリ。 |
|
外部で編集されたキャッシュ エントリ ファイル。 このキャッシュ エントリの種類は、清掃から除外されます。 |
|
通常のキャッシュ エントリ。新しいエントリの領域を回復するために削除できます。 |
|
部分的な応答キャッシュ エントリ。 |
|
固定キャッシュ エントリ。清掃から除外します。 |
|
現在、実装されていません。 |
|
現在、実装されていません。 |
|
表示済みのリンク キャッシュ エントリ。 |
[in] lpHeaderInfo
ヘッダー情報を含むバッファーへのポインター。 このパラメーターが NULL でない場合、ヘッダー情報は、INTERNET_CACHE_ENTRY_INFO構造体の lpHeaderInfo メンバーで返される URL の拡張属性として扱われます。
[in] cchHeaderInfo
ヘッダー情報のサイズ (TCHAR)。 lpHeaderInfo が NULL でない場合、この値はヘッダー情報を格納するバッファーのサイズを示すと見なされます。 アプリケーションは、データの一部としてヘッダーを維持し、cchHeaderInfo と lpHeaderInfo の NULL 値を提供できます。
[in] lpszFileExtension
このパラメーターは予約されており、 NULL である必要があります。
[in] lpszOriginalUrl
リダイレクトが発生した場合は、元の URL を含む文字列へのポインター。
戻り値
成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 考えられるエラー値を次に示します。
リターン コード | 説明 |
---|---|
|
キャッシュ ストレージがいっぱいです。 |
|
指定されたローカル ファイルが見つかりません。 |
解説
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.h ヘッダーは、CommitUrlCacheEntry をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wininet.h |
Library | Wininet.lib |
[DLL] | Wininet.dll |