Compartilhar via


Função CommitUrlCacheEntryW (wininet.h)

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

Sintaxe

BOOL CommitUrlCacheEntryW(
  [in] LPCWSTR  lpszUrlName,
  [in] LPCWSTR  lpszLocalFileName,
  [in] FILETIME ExpireTime,
  [in] FILETIME LastModifiedTime,
  [in] DWORD    CacheEntryType,
  [in] LPWSTR   lpszHeaderInfo,
  [in] DWORD    cchHeaderInfo,
  [in] LPCWSTR  lpszFileExtension,
  [in] LPCWSTR  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 CreateUrlCacheEntryW.

[in] ExpireTime

estrutura FILETIME que contém a data e a hora de expiração (no horário 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 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 armazenado 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ído para recuperar espaço para novas entradas.
SPARSE_CACHE_ENTRY
Entrada de cache de resposta parcial.
STICKY_CACHE_ENTRY
Entrada de cache autoadesiva; isento de limpeza.
TRACK_OFFLINE_CACHE_ENTRY
Não implementado no momento.
TRACK_ONLINE_CACHE_ENTRY
Não implementado no momento.
URLHISTORY_CACHE_ENTRY
Entrada de cache de link visitada.

[in] lpszHeaderInfo

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 retornada no lpHeaderInfo membro 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á assumido 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 de 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 de retorno

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

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.

Observações

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 CommitUrlCacheEntryW é de dez minutos. O tempo de isenção 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, CommitUrlCacheEntryW 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 desconsiderar a entrada.

Consulte de cache, por exemplo, chamada de código CreateUrlCacheEntryW.

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 CommitUrlCacheEntry 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

Funções WinINet