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