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 |
---|---|
|
Um ou mais dos parâmetros fornecidos estão em uma forma inutilizável. |
|
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. |
|
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 |