Função DiShowUpdateDevice (newdev.h)

A função DiShowUpdateDevice exibe o assistente de Atualização de Hardware para um dispositivo especificado.

Sintaxe

BOOL DiShowUpdateDevice(
  [in, optional]  HWND             hwndParent,
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PSP_DEVINFO_DATA DeviceInfoData,
  [in]            DWORD            Flags,
  [out, optional] PBOOL            NeedReboot
);

Parâmetros

[in, optional] hwndParent

Um identificador para a janela de nível superior que DiShowUpdateDevice usa para exibir todos os componentes de interface do usuário associados à atualização do dispositivo especificado. Esse parâmetro é opcional e pode ser definido como NULL.

[in] DeviceInfoSet

Um identificador para o conjunto de informações do dispositivo que contém um elemento de informações do dispositivo que representa o dispositivo para o qual mostrar o assistente de Atualização de Hardware.

[in] DeviceInfoData

Um ponteiro para uma estrutura SP_DEVINFO_DATA que representa o dispositivo para o qual mostrar o assistente de Atualização de Hardware.

[in] Flags

Esse parâmetro deve ser definido como zero.

[out, optional] NeedReboot

Um ponteiro para um valor do tipo BOOL que DiShowUpdateDevice define para indicar se uma reinicialização do sistema é necessária para concluir a atualização do driver. Esse parâmetro é opcional e pode ser NULL. Se o parâmetro for fornecido e uma reinicialização do sistema for necessária para concluir a atualização do driver, DiShowUpdateDevice definirá o valor como TRUE. Nesse caso, o chamador deve solicitar que o usuário reinicie o sistema. Se esse parâmetro for fornecido e uma reinicialização do sistema não for necessária para concluir a instalação, DiShowUpdateDevice definirá o valor como FALSE. Se o parâmetro for NULL e uma reinicialização do sistema for necessária para concluir a atualização do driver, DiShowUpdateDevice exibirá uma caixa de diálogo de reinicialização do sistema. Para obter mais informações sobre esse parâmetro, consulte a seção Comentários a seguir.

Retornar valor

DiShowUpdateDevice retornará TRUE se o assistente de Atualização de Hardware tiver atualizado com êxito o driver do dispositivo especificado. Caso contrário, DiShowUpdateDevice retornará FALSE e o erro registrado poderá ser recuperado fazendo uma chamada para GetLastError. Alguns dos valores de erro mais comuns que GetLastError pode retornar são os seguintes:

Código de retorno Descrição
ERROR_ACCESS_DENIED
O chamador não tem privilégios de Administrador. Por padrão, o Windows exige que o processo de chamada tenha privilégios de Administrador para atualizar um pacote de driver.
ERROR_CANCELLED
O usuário cancelou o assistente de Atualização de Hardware.
ERROR_IN_WOW64
O aplicativo de chamada é um aplicativo de 32 bits que está tentando executar em um ambiente de 64 bits, o que não é permitido. Para obter mais informações, consulte Instalando dispositivos em sistemas de 64 bits.
ERROR_INVALID_FLAGS
O valor especificado para Flags não é igual a zero.

Comentários

DiShowUpdateDevice exibe o assistente de Atualização de Hardware para a instância de dispositivo especificada. Para obter informações sobre como atualizar drivers de dispositivo usando o assistente de Atualização de Hardware, consulte Centro de Ajuda e Suporte.

Em geral, os aplicativos de instalação devem definir NeedReboot como NULL para que o sistema inicie automaticamente uma reinicialização do sistema se for necessária uma reinicialização para concluir uma atualização de hardware. Um aplicativo deve fornecer um ponteiro NeedReboot somente nos seguintes casos:

  • O aplicativo de instalação deve chamar DiShowUpdateDevice várias vezes para concluir as atualizações de hardware. Nesse caso, o aplicativo deve registrar se um valor TRUENeedReboot é retornado por qualquer uma das chamadas para DiShowUpdateDevice e, nesse caso, solicitar que o usuário reinicie o sistema após o retorno da chamada final para DiShowUpdateDevice .
  • O aplicativo deve executar as operações necessárias, além de chamar DiShowUpdateDevice, antes que uma reinicialização do sistema ocorra. Se uma reinicialização do sistema for necessária, o aplicativo deverá concluir as operações necessárias e solicitar que o usuário reinicie o sistema.
Para reverter um driver para um dispositivo em vez de invocar o assistente de Atualização de Hardware, chame DiRollbackDriver.

Para instalar um novo driver para um dispositivo em vez de invocar o assistente de Atualização de Hardware, chame DiInstallDriver ou UpdateDriverForPlugAndPlayDevices.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores do Windows.
Plataforma de Destino Área de Trabalho
Cabeçalho newdev.h (inclua Newdev.h)
Biblioteca Newdev.lib
DLL Newdev.dll

Confira também

DiInstallDriver

DiRollbackDriver

UpdateDriverForPlugAndPlayDevices