Compartilhar via


Função RetrieveUrlCacheEntryStreamA (wininet.h)

Fornece a maneira mais eficiente e independente de implementação para acessar os dados de cache.

Sintaxe

HANDLE RetrieveUrlCacheEntryStreamA(
  [in]      LPCSTR                       lpszUrlName,
  [out]     LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
  [in, out] LPDWORD                      lpcbCacheEntryInfo,
  [in]      BOOL                         fRandomRead,
  [in]      DWORD                        dwReserved
);

Parâmetros

[in] lpszUrlName

Ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome de origem da entrada de cache. Deve ser um nome exclusivo. A cadeia de caracteres de nome não deve conter nenhum caractere de escape.

[out] lpCacheEntryInfo

Ponteiro para uma estrutura INTERNET_CACHE_ENTRY_INFO que recebe informações sobre a entrada de cache.

[in, out] lpcbCacheEntryInfo

Ponteiro para uma variável que especifica o tamanho, em bytes, do buffer lpCacheEntryInfo . Quando a função retorna, a variável recebe o número de bytes copiados para o buffer ou o tamanho necessário, em bytes, do buffer. Observe que esse tamanho de buffer deve acomodar a estrutura INTERNET_CACHE_ENTRY_INFO e as cadeias de caracteres associadas que são armazenadas imediatamente após ele.

[in] fRandomRead

Se o fluxo está aberto para acesso aleatório. Defina o sinalizador como TRUE para abrir o fluxo para acesso aleatório.

[in] dwReserved

Esse parâmetro é reservado e deve ser 0.

Valor retornado

Se a função for bem-sucedida, a função retornará um identificador válido para uso nas funções ReadUrlCacheEntryStream e UnlockUrlCacheEntryStream .

Se a função falhar, ela retornará NULL. Para obter informações de erro estendidas, chame GetLastError.

Os valores de erro possíveis incluem o seguinte.

Código de retorno Descrição
ERROR_FILE_NOT_FOUND
A entrada de cache especificada pelo nome de origem não é encontrada no armazenamento em cache.
ERROR_INSUFFICIENT_BUFFER
O tamanho de lpCacheEntryInfo conforme especificado por lpdwCacheEntryInfoBufferSize não é suficiente para conter todas as informações. O valor retornado em lpdwCacheEntryInfoBufferSize indica o tamanho do buffer necessário para conter todas as informações.

Comentários

RetrieveUrlCacheEntryStream não faz nenhuma análise de URL, portanto, uma URL que contém uma âncora (#) não será encontrada no cache, mesmo que o recurso seja armazenado em cache. Por exemplo, se a URL http://adatum.com/example.htm#sample for passada, a função retornará ERROR_FILE_NOT_FOUND mesmo que http://adatum.com/example.htm esteja no cache.

Os clientes de cache que não precisam de dados de URL na forma de um arquivo devem usar essa função para acessar os dados de uma URL específica.

Como todos os outros aspectos da API WinINet, essa função não pode ser chamada com segurança de dentro de DllMain ou dos construtores e destruidores de objetos globais.

Nota O WinINet não dá suporte a implementações de servidor. Além disso, ele não deve ser usado de um serviço. Para implementações de servidor ou serviços, use Os Serviços HTTP do Microsoft Windows (WinHTTP).
 

Observação

O cabeçalho wininet.h define RetrieveUrlCacheEntryStream como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wininet.h
Biblioteca Wininet.lib
DLL Wininet.dll

Confira também

Cache

Funções WinINet