Função InstallSelectedDriver

A função InstallSelectedDriver foi preterida. Para o Windows Vista e posteriores, use DiInstallDevice .

Sintaxe

BOOL WINAPI InstallSelectedDriver(
  _In_  HWND     hwndParent,
  _In_  HDEVINFO DeviceInfoSet,
  _In_  LPCTSTR  Reserved,
  _In_  BOOL     Backup,
  _Out_ PDWORD   bReboot
);

Parâmetros

hwndParent [in]
Um identificador para a janela de nível superior que a função InstallSelectedDriver usa para exibir componentes de interface do usuário associados à instalação do driver.

DeviceInfoSet [in]
Um identificador para um conjunto de informações do dispositivo que contém um elemento de informações do dispositivo que representa um dispositivo selecionado e um driver selecionado para o dispositivo. Para obter mais informações sobre como selecionar um dispositivo e um driver para um dispositivo, consulte a seção Comentários a seguir.

Reservado [in]
Esse parâmetro deve ser definido como NULL.

Backup [in]
Um valor do tipo BOOL que determina se InstallSelectedDriver faz backup dos drivers atualmente instalados para o dispositivo selecionado antes que a função instale o driver selecionado para o dispositivo. Se os drivers atualmente instalados tiverem backup e o usuário encontrar um problema com o novo driver, o usuário poderá reverter a instalação do novo driver para o driver de backup. Se os drivers atualmente instalados não tiverem backup, o usuário não poderá reverter a instalação do novo driver para o driver instalado anteriormente. Se Backup estiver definido como TRUE, InstallSelectedDriver faz backup dos drivers atualmente instalados; caso contrário, a função não faz backup dos drivers atualmente instalados. Para obter mais informações sobre o backup do driver, consulte DiRollbackDriver.

bReboot [out]
Um ponteiro para uma variável do tipo DWORD que InstallSelectedDriver define para indicar se uma reinicialização do sistema é necessária para concluir a instalação. Se a variável estiver definida como DI_NEEDREBOOT, uma reinicialização do sistema será necessária; caso contrário, uma reinicialização do sistema não é necessária. O chamador é responsável por reiniciar o sistema.

Retornar valor

InstallSelectedDriver retornará TRUE se o driver selecionado tiver sido instalado no dispositivo selecionado; caso contrário, a função retorna FALSE e o erro registrado pode 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
NO_ERROR

O driver selecionado foi uma correspondência melhor para o driver do que o driver que foi instalado anteriormente no dispositivo.

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.

Comentários

Para acessar InstallSelectedDriver, chame LoadLibrary para carregar Newdev.dll e, em seguida, chame GetProcAddress para obter um ponteiro de função para InstallSelectedDriver.

Você só deve chamar InstallSelectedDriver se for necessário instalar um driver específico em um dispositivo específico.

Importante Para o Windows Vista e versões posteriores do Windows, chame DiInstallDevice em vez de InstallSelectedDriver para executar esse tipo de operação.

Além dos aplicativos especiais que exigem a instalação de um driver específico em um dispositivo específico, um aplicativo de instalação deve instalar o driver que é a melhor correspondência para um dispositivo. Para instalar o driver que é a melhor correspondência para um dispositivo, chame DiInstallDriver ou UpdateDriverForPlugAndPlayDevices. Para obter mais informações sobre quais dessas funções chamar para instalar um driver em um dispositivo, consulte SetupAPI Functions that Simplify Driver Installation.

Antes de chamar InstallSelectedDriver, o chamador deve obter um conjunto de informações de dispositivo que contenha o dispositivo, selecionar o dispositivo no conjunto e selecionar um driver para o dispositivo.

Para criar um conjunto de informações do dispositivo que contém o dispositivo, siga um destes procedimentos:

  • Chame SetupDiGetClassDevs para recuperar um conjunto de informações do dispositivo que contém o dispositivo e, em seguida, chame SetupDiEnumDeviceInfo para enumerar os dispositivos no conjunto de informações do dispositivo. Em cada chamada, SetupDiEnumDeviceInfo retorna uma estrutura SP_DEVINFO_DATA que representa o dispositivo enumerado no conjunto de informações do dispositivo. Para obter informações específicas sobre o dispositivo enumerado, chame SetupDiGetDeviceRegistryProperty e forneça a estrutura SP_DEVINFO_DATA retornada por SetupDiEnumDeviceInfo.

    • OU –
  • Chame SetupDiOpenDeviceInfo para adicionar um dispositivo com uma ID de instância de dispositivo conhecida ao conjunto de informações do dispositivo. SetupDiOpenDeviceInfo retorna uma estrutura SP_DEVINFO_DATA que representa o dispositivo no conjunto de informações do dispositivo.

Depois de obter a estrutura SP_DEVINFO_DATA para um dispositivo, chame SetupDiSetSelectedDevice para selecionar o dispositivo no conjunto de informações do dispositivo.

Para recuperar um driver para um dispositivo, chame SetupDiBuildDriverInfoList para criar uma lista de drivers compatíveis para o dispositivo e, em seguida, chame SetupDiEnumDriverInfo para enumerar os elementos da lista de driver para o dispositivo. Para cada driver enumerado, SetupDiEnumDriverInfo recupera uma estrutura SP_DRVINFO_DATA que representa o driver. SetupDiGetDriverInfoDetail pode ser chamado para recuperar detalhes adicionais sobre um driver enumerado.

Depois de obter uma estrutura SP_DRVINFO_DATA para o driver, chame SetupDiSetSelectedDriver para selecionar o driver para o dispositivo.

Requisitos

Plataforma de destino

Área de Trabalho

Versão

Disponível no Microsoft Windows 2000 e versões posteriores do Windows.

parâmetro

Nenhum (a função InstallSelectedDriver não é definida em um arquivo de cabeçalho público. Para obter mais informações, consulte a seção Comentários . )

Biblioteca

Newdev.lib

DLL

Newdev.dll

Confira também

DiInstallDevice

DiInstallDriver

SetupDiBuildDriverInfoList

SetupDiEnumDeviceInfo

SetupDiEnumDriverInfo

SetupDiGetClassDevs

SetupDiGetDeviceRegistryProperty

SetupDiGetDriverInfoDetail

SetupDiOpenDeviceInfo

SetupDiSetSelectedDevice

SetupDiSetSelectedDriver

UpdateDriverForPlugAndPlayDevices