Função HttpReadFragmentFromCache (http.h)

A função HttpReadFragmentFromCache recupera um fragmento de resposta com um nome especificado do cache da API do servidor HTTP.

Sintaxe

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
);

Parâmetros

[in] RequestQueueHandle

Identificador para a fila de solicitação à qual o fragmento de resposta especificado está associado. Uma fila de solicitação é criada e seu identificador retornado por uma chamada para a função HttpCreateRequestQueue .

Windows Server 2003 com SP1 e Windows XP com SP2: O identificador para a fila de solicitação é criado pela função HttpCreateHttpHandle .

[in] UrlPrefix

Ponteiro para uma cadeia de caracteres UrlPrefix que contém o nome do fragmento a ser recuperado. Isso deve corresponder a uma cadeia de caracteres UrlPrefix usada em uma chamada bem-sucedida anterior para HttpAddFragmentToCache.

[in] ByteRange

Ponteiro opcional para uma estrutura HTTP_BYTE_RANGE que indica um deslocamento inicial no fragmento e na contagem de bytes especificados a serem retornados. NULL se não for usado; nesse caso, todo o fragmento será retornado.

[out] Buffer

Ponteiro para um buffer no qual a função copia o fragmento solicitado.

[in] BufferLength

Tamanho, em bytes, do buffer pBuffer .

[out] BytesRead

Ponteiro opcional para uma variável que recebe o número de bytes a serem gravados no buffer de saída. Se BufferLength for menor que esse número, a chamada falhará com um retorno de ERROR_INSUFFICIENT_BUFFER e o valor apontado por pBytesRead poderá ser usado para determinar o comprimento mínimo do buffer necessário para que a chamada seja bem-sucedida.

Ao fazer uma chamada assíncrona usando pOverlapped, defina pBytesRead como NULL. Caso contrário, quando pOverlapped é definido como NULL, pBytesRead deve conter um endereço de memória válido e não ser definido como NULL.

[in] Overlapped

Para chamadas assíncronas, defina pOverlapped para apontar para uma estrutura OVERLAPPED ou, para chamadas síncronas, defina-a como NULL.

Uma chamada síncrona é bloqueada até que a operação de cache seja concluída, enquanto uma chamada assíncrona retorna imediatamente ERROR_IO_PENDING e o aplicativo de chamada usa as portas getOverlappedResult ou de conclusão de E/S para determinar quando a operação é concluída. Para obter mais informações sobre como usar estruturas OVERLAPPED para sincronização, consulte Sincronização e entrada e saída sobrepostas.

Retornar valor

Se a função for bem-sucedida, o valor retornado será NO_ERROR.

Se a função for usada de forma assíncrona, um valor retornado de ERROR_IO_PENDING indicará que a solicitação de cache será enfileirada e concluída posteriormente por meio de mecanismos normais de conclusão de E/S sobrepostos.

Se a função falhar, o valor retornado será um dos códigos de erro a seguir.

Valor Significado
ERROR_INVALID_PARAMETER
Um ou mais dos parâmetros fornecidos estão em uma forma inutilizável.
ERROR_MORE_DATA
O buffer apontado pelo pBuffer é muito pequeno para receber todos os dados solicitados; o tamanho do buffer necessário é apontado por pBytesRead , a menos que fosse NULL ou a chamada fosse assíncrona. No caso de uma chamada assíncrona, o valor apontado pelo parâmetro lpNumberOfBytesTransferred da função GetOverLappedResult é definido como o tamanho do buffer necessário.
Outros
Um código de erro do sistema definido em WinError.h.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista, Windows XP com SP2 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho http.h
Biblioteca Httpapi.lib
DLL Httpapi.dll

Confira também

Funções da API do Servidor HTTP versão 1.0

HttpAddFragmentToCache

HttpFlushResponseCache