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를 호출합니다.

가능한 오류 값은 다음과 같습니다.

반환 코드 설명
ERROR_FILE_NOT_FOUND
원본 이름으로 지정된 캐시 항목이 캐시 스토리지에 없습니다.
ERROR_INSUFFICIENT_BUFFER
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 내에서 또는 전역 개체의 생성자 및 소멸자에서 안전하게 호출할 수 없습니다.

참고 WinINet은 서버 구현을 지원하지 않습니다. 또한 서비스에서 사용하지 않아야 합니다. 서버 구현 또는 서비스의 경우 WinHTTP(Microsoft Windows HTTP 서비스)를 사용합니다.
 

참고

wininet.h 헤더는 RETRIEVEUrlCacheEntryStream을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 wininet.h
라이브러리 Wininet.lib
DLL Wininet.dll

추가 정보

캐싱

WinINet 함수