다음을 통해 공유


HttpReadFragmentFromCache 함수(http.h)

HttpReadFragmentFromCache 함수는 HTTP Server API 캐시에서 지정된 이름을 가진 응답 조각을 검색합니다.

구문

HTTPAPI_LINKAGE ULONG HttpReadFragmentFromCache(
  [in]  HANDLE           RequestQueueHandle,
  [in]  PCWSTR           UrlPrefix,
  [in]  PHTTP_BYTE_RANGE ByteRange,
  [out] PVOID            Buffer,
  [in]  ULONG            BufferLength,
  [out] PULONG           BytesRead,
  [in]  LPOVERLAPPED     Overlapped
);

매개 변수

[in] RequestQueueHandle

지정된 응답 조각이 연결된 요청 큐에 대한 핸들입니다. 요청 큐가 생성되고 HttpCreateRequestQueue 함수에 대한 호출에서 해당 핸들이 반환됩니다.

Windows Server 2003 SP1 및 Windows XP SP2 사용: 요청 큐에 대한 핸들은 HttpCreateHttpHandle 함수에 의해 만들어집니다.

[in] UrlPrefix

검색할 조각의 이름을 포함하는 UrlPrefix 문자열 에 대한 포인터입니다. 이는 HttpAddFragmentToCache에 대한 이전의 성공적인 호출에서 사용된 UrlPrefix 문자열과 일치해야 합니다.

[in] ByteRange

반환할 지정된 조각 및 바이트 수의 시작 오프셋을 나타내는 HTTP_BYTE_RANGE 구조체에 대한 선택적 포인터입니다. 사용하지 않으면 NULL 이며, 이 경우 전체 조각이 반환됩니다.

[out] Buffer

함수가 요청된 조각을 복사하는 버퍼에 대한 포인터입니다.

[in] BufferLength

pBuffer 버퍼의 크기(바이트)입니다.

[out] BytesRead

출력 버퍼에 쓸 바이트 수를 수신하는 변수에 대한 선택적 포인터입니다. BufferLength가 이 숫자보다 작으면 ERROR_INSUFFICIENT_BUFFER 반환과 함께 호출이 실패하고 pBytesRead가 가리키는 값을 사용하여 호출이 성공하는 데 필요한 최소 버퍼 길이를 확인할 수 있습니다.

pOverlapped를 사용하여 비동기 호출을 할 때 pBytesReadNULL로 설정합니다. 그렇지 않으면 pOverlappedNULL로 설정된 경우 pBytesRead 는 유효한 메모리 주소를 포함해야 하며 NULL로 설정되지 않아야 합니다.

[in] Overlapped

비동기 호출의 경우 pOverlappedOVERLAPPED 구조를 가리키도록 설정하거나 동기 호출의 경우 NULL로 설정합니다.

동기 호출은 캐시 작업이 완료될 때까지 차단되는 반면, 비동기 호출은 즉시 ERROR_IO_PENDING 반환하고 호출 애플리케이션은 GetOverlappedResult 또는 I/O 완료 포트를 사용하여 작업이 완료되는 시기를 결정합니다. 동기화에 OVERLAPPED 구조를 사용하는 방법에 대한 자세한 내용은 동기화 및 겹치는 입력 및 출력을 참조하세요.

반환 값

함수가 성공하면 반환 값이 NO_ERROR.

함수를 비동기적으로 사용하는 경우 ERROR_IO_PENDING 반환 값은 캐시 요청이 큐에 대기되고 나중에 일반 겹치는 I/O 완료 메커니즘을 통해 완료됨을 나타냅니다.

함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.

의미
ERROR_INVALID_PARAMETER
제공된 매개 변수 중 하나 이상이 사용할 수 없는 형식입니다.
ERROR_MORE_DATA
pBuffer가 가리키는 버퍼가 너무 작아서 요청된 모든 데이터를 받을 수 없습니다. 필요한 버퍼의 크기는 NULL이거나 호출이 비동기인 경우가 아니면 pBytesRead에서 가리켜야 합니다. 비동기 호출의 경우 GetOverLappedResult 함수의 lpNumberOfBytesTransferred 매개 변수가 가리키는 값이 필요한 버퍼 크기로 설정됩니다.
기타
WinError.h에 정의된 시스템 오류 코드 입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista, WINDOWS XP SP2 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 http.h
라이브러리 Httpapi.lib
DLL Httpapi.dll

추가 정보

HTTP 서버 API 버전 1.0 함수

HttpAddFragmentToCache

HttpFlushResponseCache