Compartilhar via


Método IUpdateDownloader::BeginDownload (wuapi.h)

Inicia um download assíncrono dos arquivos de conteúdo associados às atualizações.

Sintaxe

HRESULT BeginDownload(
  [in]  IUnknown     *onProgressChanged,
  [in]  IUnknown     *onCompleted,
  [in]  VARIANT      state,
  [out] IDownloadJob **retval
);

Parâmetros

[in] onProgressChanged

Uma interface IDownloadProgressChangedCallback que é chamada periodicamente para alterações de progresso do download antes da conclusão do download.

[in] onCompleted

Uma interface IDownloadCompletedCallback (C++/COM) que é chamada quando uma operação de download assíncrona é concluída.

[in] state

O estado específico do chamador que a propriedade AsyncState da interface IDownloadJob retorna. Um chamador pode usar esse parâmetro para anexar um valor ao objeto de trabalho de download. Isso permite que o chamador recupere informações personalizadas sobre esse objeto de trabalho de download posteriormente.

Observação  

A propriedade AsyncState da interface IDownloadJob pode ser recuperada, mas não pode ser definida. Isso não impede que o chamador altere o conteúdo do objeto já definido para a propriedade AsyncState da interface IDownloadJob . Em outras palavras, se a propriedade AsyncState contiver um número, o número não poderá ser alterado. Mas, se a propriedade AsyncState contiver uma matriz segura ou um objeto , o conteúdo da matriz segura ou do objeto poderá ser alterado à vontade. O valor é liberado quando o chamador libera IDownloadJob chamando IUpdateDownloader::EndDownload.

 

[out] retval

Uma interface IDownloadJob que contém as propriedades e os métodos que estão disponíveis para uma operação de download iniciada.

Retornar valor

Retorna S_OK se tiver êxito. Caso contrário, retornará um código de erro COM ou Windows.

Esse método também pode retornar os seguintes códigos de erro.

Código de retorno Descrição
WU_E_INVALID_OPERATION
O computador não pode acessar o site de atualização.
WU_E_NO_UPDATE
O WUA (Agente de Windows Update) não tem atualizações na coleção.
WU_E_NOT_INITIALIZED
O WUA (Agente de Windows Update) não é inicializado.

Comentários

Como alternativa à implementação da interface IDownloadProgressChangedCallback , você pode usar um script para implementar uma rotina de retorno de chamada de qualquer identificador com DISPID 0 em um objeto de automação. O tipo do parâmetro onProgressChanged é IUnknown*.

Como alternativa à implementação da interface IDownloadCompletedCallback , você pode usar um script para implementar uma rotina de retorno de chamada de qualquer identificador com DISPID 0 em um objeto de automação. O tipo do parâmetro onCompleted é IUnknown*.

Esse método retornará WU_E_INVALID_OPERATION se o objeto que está implementando a interface estiver bloqueado.

Esse método retornará WU_E_NO_UPDATE se a propriedade Atualizações da interface IUpdateDownloader não estiver definida. Esse método também retornará WU_E_NO_UPDATE se a propriedade Atualizações estiver definida como uma coleção vazia.

Esse método retornará SUS_E_NOT_INITIALIZED se o trabalho de download não contiver atualizações.

Ao usar qualquer API WUA assíncrona em seu aplicativo, talvez seja necessário implementar um mecanismo de tempo limite. Para obter mais informações sobre como executar operações WUA assíncronas, consulte Diretrizes para operações WUA assíncronas.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP, Windows 2000 Professional com SP3 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003, Windows 2000 Server com SP3 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wuapi.h
Biblioteca Wuguid.lib
DLL Wuapi.dll

Confira também

IUpdateDownloader