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 |
---|---|
|
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. |
|
O usuário cancelou o assistente de Atualização de Hardware. |
|
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. |
|
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 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 |