Função RetrieveUrlCacheEntryFileA (wininet.h)
Bloqueia o arquivo de entrada de cache associado à URL especificada.
Sintaxe
BOOL RetrieveUrlCacheEntryFileA(
[in] LPCSTR lpszUrlName,
[out] LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
[in, out] LPDWORD lpcbCacheEntryInfo,
[in] DWORD dwReserved
);
Parâmetros
[in] lpszUrlName
Ponteiro para uma cadeia de caracteres que contém a URL do recurso associado à 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 um buffer de informações de entrada de cache. Se o buffer não for suficiente, essa função retornará ERROR_INSUFFICIENT_BUFFER e definirá lpdwCacheEntryInfoBufferSize como o número de bytes necessários.
[in, out] lpcbCacheEntryInfo
Ponteiro para uma variável de inteiro longo sem sinal que especifica o tamanho do buffer lpCacheEntryInfo , em bytes. Quando a função retorna, a variável contém o tamanho, em bytes, do buffer real usado ou o número de bytes necessários para recuperar o arquivo de entrada de cache. O chamador deve marcar o valor retornado nesse parâmetro. Se o tamanho de retorno for menor ou igual ao tamanho passado, todos os dados relevantes serão retornados.
[in] dwReserved
Esse parâmetro é reservado e deve ser 0.
Retornar valor
Retorna TRUE se tiver êxito ou FALSE caso contrário. Para obter informações de erro estendidas, chame GetLastError. Os valores de erro possíveis incluem:
Código de retorno | Descrição |
---|---|
|
A entrada de cache especificada pelo nome de origem não é encontrada no armazenamento de cache. |
|
O tamanho do buffer 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 obter todas as informações. |
Comentários
RetrieveUrlCacheEntryFile 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 tiver sido passada, a função retornará ERROR_FILE_NOT_FOUND mesmo que http://adatum.com/example.htm esteja no cache.
O arquivo é bloqueado para o chamador quando ele é recuperado; o chamador deve desbloquear o arquivo depois que o chamador for concluído com o arquivo. O gerenciador de cache desbloqueia automaticamente os arquivos após um determinado intervalo. Enquanto o arquivo estiver bloqueado, o gerenciador de cache não removerá o arquivo do cache. É importante observar que essa função pode ou não ter um desempenho eficiente, dependendo da implementação interna do cache. Por exemplo, se os dados de URL forem armazenados em um arquivo empacotado que contenha dados para outras URLs, o cache fará uma cópia dos dados para um arquivo em um diretório temporário mantido pelo cache. O cache eventualmente excluirá a cópia. É recomendável que essa função seja usada somente em situações em que um nome de arquivo seja necessário para iniciar um aplicativo. RetrieveUrlCacheEntryStream e funções de fluxo associadas devem ser usadas na maioria dos casos.
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
O cabeçalho wininet.h define RetrieveUrlCacheEntryFile 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
Requisito | Valor |
---|---|
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 |