RetrieveUrlCacheEntryFileA 関数 (wininet.h)
指定した URL に関連付けられているキャッシュ エントリ ファイルをロックします。
構文
BOOL RetrieveUrlCacheEntryFileA(
[in] LPCSTR lpszUrlName,
[out] LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
[in, out] LPDWORD lpcbCacheEntryInfo,
[in] DWORD dwReserved
);
パラメーター
[in] lpszUrlName
キャッシュ エントリに関連付けられているリソースの URL を含む文字列へのポインター。 この名前は一意である必要があります。 名前文字列にはエスケープ文字を含めないようにしてください。
[out] lpCacheEntryInfo
キャッシュ エントリ情報バッファーへのポインター。 バッファーが十分でない場合、この関数は ERROR_INSUFFICIENT_BUFFERを返し、 lpdwCacheEntryInfoBufferSize を必要なバイト数に設定します。
[in, out] lpcbCacheEntryInfo
lpCacheEntryInfo バッファーのサイズをバイト単位で指定する符号なし long 整数変数へのポインター。 関数が戻るとき、変数には、使用される実際のバッファーのサイズ (バイト単位)、またはキャッシュ エントリ ファイルの取得に必要なバイト数が含まれます。 呼び出し元は、このパラメーターの戻り値をチェックする必要があります。 戻り値のサイズが渡されたサイズ以下の場合は、関連するすべてのデータが返されます。
[in] dwReserved
このパラメーターは予約済みであり、0 である必要があります。
戻り値
成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 考えられるエラー値は次のとおりです。
リターン コード | 説明 |
---|---|
|
ソース名で指定されたキャッシュ エントリがキャッシュ ストレージに見つかりません。 |
|
lpdwCacheEntryInfoBufferSize で指定された lpCacheEntryInfo バッファーのサイズは、すべての情報を格納するのに十分ではありません。 lpdwCacheEntryInfoBufferSize で返される値は、すべての情報を取得するために必要なバッファー サイズを示します。 |
注釈
RetrieveUrlCacheEntryFile は URL 解析を行わないので、リソースがキャッシュされている場合でも、アンカー (#) を含む URL はキャッシュに見つかりません。 たとえば、URL http://adatum.com/example.htm#sample が渡された場合、 がキャッシュ内にある場合 http://adatum.com/example.htm でも、関数はERROR_FILE_NOT_FOUNDを返します。
ファイルは、取得時に呼び出し元に対してロックされます。呼び出し元は、呼び出し元がファイルを使用して終了した後、ファイルのロックを解除する必要があります。 キャッシュ マネージャーは、一定の間隔でファイルのロックを自動的に解除します。 ファイルがロックされている間、キャッシュ マネージャーはキャッシュからファイルを削除しません。 キャッシュの内部実装によっては、この関数が効率的に実行される場合と実行されない場合があることに注意してください。 たとえば、URL データが他の URL のデータを含むパック ファイルに格納されている場合、キャッシュはキャッシュによって管理される一時ディレクトリ内のファイルにデータのコピーを作成します。 キャッシュは最終的にコピーを削除します。 この関数は、アプリケーションを起動するためにファイル名が必要な場合にのみ使用することをお勧めします。 RetrieveUrlCacheEntryStream および関連するストリーム関数は、ほとんどの場合に使用する必要があります。
WinINet API の他のすべての側面と同様に、この関数を DllMain またはグローバル オブジェクトのコンストラクターとデストラクター内から安全に呼び出すことはできません。
注意
wininet.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RetrieveUrlCacheEntryFile を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wininet.h |
Library | Wininet.lib |
[DLL] | Wininet.dll |