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 de 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 de INTERNET_CACHE_ENTRY_INFO e as cadeias de caracteres associadas que são armazenadas imediatamente após ela.

[in] fRandomRead

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

[in] dwReserved

Esse parâmetro é reservado e deve ser 0.

Valor de retorno

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 de 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.

Observações

RetrieveUrlCacheEntryStream não faz nenhuma análise de URL, portanto, uma URL que contém uma âncora (#) não será encontrada no cache, mesmo se o recurso for 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.

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

Observaçã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 ou serviços de servidor, use do Microsoft Windows HTTP Services (WinHTTP).
 

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho wininet.h
biblioteca Wininet.lib
de DLL Wininet.dll

Consulte também

cache

do WinINet Functions