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 de texto e três imagens pode ser montada dinamicamente a partir 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ções com a qual esse cache está associado. Uma fila de solicitações é 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 da 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 do parâmetro ReqQueueHandle e com essa cadeia de caracteres UrlPrefix idêntica ou um prefixo válido.

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

[in] DataChunk

Ponteiro para uma estrutura HTTP_DATA_CHUNK que especifica um bloco de dados do corpo da entidade para armazenar 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á enfileirada 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.
Outras
Um código de erro do sistema definido em WinError.h.

Requisitos

   
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