RetrieveUrlCacheEntryStreamA 関数 (wininet.h)
キャッシュ データにアクセスするための最も効率的で実装に依存しない方法を提供します。
構文
HANDLE RetrieveUrlCacheEntryStreamA(
[in] LPCSTR lpszUrlName,
[out] LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
[in, out] LPDWORD lpcbCacheEntryInfo,
[in] BOOL fRandomRead,
[in] DWORD dwReserved
);
パラメーター
[in] lpszUrlName
キャッシュ エントリのソース名を含む null で終わる文字列へのポインター。 この名前は一意である必要があります。 名前文字列にはエスケープ文字を含めないようにしてください。
[out] lpCacheEntryInfo
キャッシュ エントリに関する情報を受け取る INTERNET_CACHE_ENTRY_INFO 構造体へのポインター。
[in, out] lpcbCacheEntryInfo
lpCacheEntryInfo バッファーのサイズをバイト単位で指定する変数へのポインター。 関数が戻ると、変数はバッファーにコピーされたバイト数、またはバッファーの必要なサイズ (バイト単位) を受け取ります。 このバッファー サイズは、 INTERNET_CACHE_ENTRY_INFO 構造体と、その直後に格納される関連する文字列の両方に対応する必要があることに注意してください。
[in] fRandomRead
ストリームがランダム アクセス用に開かれているかどうか。 フラグを TRUE に設定して、ランダム アクセス用にストリームを開きます。
[in] dwReserved
このパラメーターは予約されており、0 である必要があります。
戻り値
関数が成功した場合、関数は ReadUrlCacheEntryStream 関数および UnlockUrlCacheEntryStream 関数で使用できる有効なハンドル を 返します。
関数が失敗した場合は、NULL が返されます。 詳細なエラー情報を得るには、GetLastError を呼び出します。
考えられるエラー値は次のとおりです。
リターン コード | 説明 |
---|---|
|
ソース名で指定されたキャッシュ エントリがキャッシュ ストレージに見つかりません。 |
|
lpdwCacheEntryInfoBufferSize で指定された lpCacheEntryInfo のサイズは、すべての情報を格納するのに十分ではありません。 lpdwCacheEntryInfoBufferSize で返される値は、すべての情報を格納するために必要なバッファー サイズを示します。 |
解説
RetrieveUrlCacheEntryStream は URL 解析を行わないので、リソースがキャッシュされている場合でも、アンカー (#) を含む URL はキャッシュに見つかりません。 たとえば、URL http://adatum.com/example.htm#sample が渡された場合、関数は キャッシュ内にある場合 http://adatum.com/example.htm でもERROR_FILE_NOT_FOUNDを返します。
ファイル形式の URL データを必要としないキャッシュ クライアントは、この関数を使用して、特定の URL のデータにアクセスする必要があります。
WinINet API の他のすべての側面と同様に、この関数を DllMain またはグローバル オブジェクトのコンストラクターとデストラクター内から安全に呼び出すことはできません。
Note
wininet.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RetrieveUrlCacheEntryStream を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wininet.h |
Library | Wininet.lib |
[DLL] | Wininet.dll |