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 |
---|---|
|
A entrada de cache especificada pelo nome de origem não é encontrada no armazenamento em cache. |
|
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.
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 |