Função CommitUrlCacheEntryA (wininet.h)

Armazena dados no arquivo especificado no cache da Internet e os associa à URL especificada.

Sintaxe

BOOL CommitUrlCacheEntryA(
  [in] LPCSTR   lpszUrlName,
  [in] LPCSTR   lpszLocalFileName,
  [in] FILETIME ExpireTime,
  [in] FILETIME LastModifiedTime,
  [in] DWORD    CacheEntryType,
  [in] LPBYTE   lpHeaderInfo,
  [in] DWORD    cchHeaderInfo,
  [in] LPCSTR   lpszFileExtension,
  [in] LPCSTR   lpszOriginalUrl
);

Parâmetros

[in] lpszUrlName

Ponteiro para uma variável de cadeia de caracteres que contém o nome de origem da entrada de cache. A cadeia de caracteres de nome deve ser exclusiva e não deve conter nenhum caractere de escape.

[in] lpszLocalFileName

Ponteiro para uma variável de cadeia de caracteres que contém o nome do arquivo local que está sendo armazenado em cache. Esse deve ser o mesmo nome que o retornado por CreateUrlCacheEntryA.

[in] ExpireTime

Estrutura FILETIME que contém a data e a hora de expiração (no horário médio de Greenwich) do arquivo que está sendo armazenado em cache. Se a data e a hora de expiração forem desconhecidas, defina esse parâmetro como zero.

[in] LastModifiedTime

Estrutura FILETIME que contém a data e a hora da última modificação (no horário médio de Greenwich) da URL que está sendo armazenada em cache. Se a data e a hora da última modificação forem desconhecidas, defina esse parâmetro como zero.

[in] CacheEntryType

Uma máscara de bits que indica o tipo de entrada de cache e suas propriedades. Os tipos de entrada de cache incluem: entradas de histórico (URLHISTORY_CACHE_ENTRY), entradas de cookie (COOKIE_CACHE_ENTRY) e conteúdo em cache normal (NORMAL_CACHE_ENTRY).

Esse parâmetro pode ser zero ou mais dos sinalizadores de propriedade a seguir e sinalizadores de tipo de cache listados abaixo.

Valor Significado
COOKIE_CACHE_ENTRY
Entrada de cache de cookie.
EDITED_CACHE_ENTRY
Arquivo de entrada de cache que foi editado externamente. Esse tipo de entrada de cache é isento de limpeza.
NORMAL_CACHE_ENTRY
Entrada de cache normal; pode ser excluída para recuperar espaço para novas entradas.
SPARSE_CACHE_ENTRY
Entrada de cache de resposta parcial.
STICKY_CACHE_ENTRY
Entrada de cache persistente; isenta de limpeza.
TRACK_OFFLINE_CACHE_ENTRY
Não implementado atualmente.
TRACK_ONLINE_CACHE_ENTRY
Não implementado atualmente.
URLHISTORY_CACHE_ENTRY
Entrada de cache de link visitado.

[in] lpHeaderInfo

Ponteiro para o buffer que contém as informações de cabeçalho. Se esse parâmetro não for NULL, as informações de cabeçalho serão tratadas como atributos estendidos da URL que são retornados no membro lpHeaderInfo da estrutura INTERNET_CACHE_ENTRY_INFO .

[in] cchHeaderInfo

Tamanho das informações de cabeçalho, em TCHARs. Se lpHeaderInfo não for NULL, esse valor será considerado para indicar o tamanho do buffer que armazena as informações de cabeçalho. Um aplicativo pode manter cabeçalhos como parte dos dados e fornecer cchHeaderInfo junto com um valor NULL para lpHeaderInfo.

[in] lpszFileExtension

Esse parâmetro é reservado e deve ser NULL.

[in] lpszOriginalUrl

Ponteiro para uma cadeia de caracteres que contém a URL original, se o redirecionamento tiver ocorrido.

Valor retornado

Retorna TRUE se tiver êxito ou FALSE caso contrário. Para obter informações de erro estendidas, chame GetLastError. Veja a seguir valores de erro possíveis.

Código de retorno Descrição
ERROR_DISK_FULL
O armazenamento em cache está cheio.
ERROR_FILE_NOT_FOUND
O arquivo local especificado não foi encontrado.

Comentários

O tipo STICKY_CACHE_ENTRY é usado para tornar as entradas de cache isentas de limpeza. O tempo de isenção padrão para entradas definidas usando CommitUrlCacheEntryA é de dez minutos. O tempo isento pode ser alterado definindo o parâmetro de tempo expira na estrutura INTERNET_CACHE_ENTRY_INFO na chamada para a função SetUrlCacheEntryInfo .

Se o armazenamento em cache estiver cheio, CommitUrlCacheEntryA invocará a limpeza de cache para abrir espaço para esse novo arquivo. Se a entrada de cache já existir, a função substituirá a entrada se ela não estiver em uso. Uma entrada está em uso quando foi recuperada com RetrieveUrlCacheEntryStream ou RetrieveUrlCacheEntryFile.

Os clientes que adicionam entradas ao cache devem definir os cabeçalhos como pelo menos "HTTP/1.0 200 OK\r\n\r\n"; caso contrário, o Microsoft Internet Explorer e outros aplicativos cliente devem ignorar a entrada.

Consulte Cache , por exemplo, chamada de código CreateUrlCacheEntryA.

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.

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

Observação

O cabeçalho wininet.h define CommitUrlCacheEntry 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