Função HttpAddFragmentToCache (http.h)

A função HttpAddFragmentToCache armazena em cache um fragmento de dados com um nome especificado pelo qual ele pode ser recuperado ou atualiza dados armazenados em cache em um nome especificado. Esses fragmentos de dados armazenados em cache podem ser usados repetidamente para construir respostas dinâmicas sem a despesa de leituras de disco. Por exemplo, uma resposta composta por texto e três imagens pode ser montada dinamicamente de quatro ou mais fragmentos armazenados em cache no momento em que uma solicitação é processada.

Sintaxe

HTTPAPI_LINKAGE ULONG HttpAddFragmentToCache(
  [in]           HANDLE             RequestQueueHandle,
  [in]           PCWSTR             UrlPrefix,
  [in]           PHTTP_DATA_CHUNK   DataChunk,
  [in]           PHTTP_CACHE_POLICY CachePolicy,
  [in, optional] LPOVERLAPPED       Overlapped
);

Parâmetros

[in] RequestQueueHandle

Manipule para a fila de solicitação à qual esse cache 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 o aplicativo usa em chamadas subsequentes para HttpSendHttpResponse para identificar essa entrada de cache. O aplicativo deve ter chamado HttpAddUrl anteriormente com o mesmo identificador que no parâmetro ReqQueueHandle e com essa cadeia de caracteres UrlPrefix idêntica ou um prefixo válido dele.

Como qualquer UrlPrefix, essa cadeia de caracteres deve assumir o formato "scheme://host:port/relativeURI"; por exemplo, http://www.mysite.com:80/image1.gif.

[in] DataChunk

Ponteiro para uma estrutura de HTTP_DATA_CHUNK que especifica um bloco de dados do corpo da entidade a ser armazenado em cache sob o nome apontado por pUrlPrefix.

[in] CachePolicy

Ponteiro para uma estrutura HTTP_CACHE_POLICY que especifica como esse fragmento de dados deve ser armazenado em cache.

[in, optional] 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 bloqueia o thread de chamada 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 de conclusão GetOverlappedResult ou 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 está na fila e será 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 seguintes códigos de erro.

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

HttpFlushResponseCache

HttpReadFragmentFromCache