Função SetupDiSelectBestCompatDrv (setupapi.h)

A função SetupDiSelectBestCompatDrv é o manipulador padrão para a solicitação de instalação DIF_SELECTBESTCOMPATDRV .

Sintaxe

WINSETUPAPI BOOL SetupDiSelectBestCompatDrv(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData
);

Parâmetros

[in] DeviceInfoSet

Um identificador para um conjunto de informações do dispositivo que contém um elemento de informações do dispositivo que representa o dispositivo para o qual selecionar o melhor driver compatível.

[in, out] DeviceInfoData

Um ponteiro para uma estrutura SP_DEVINFO_DATA que especifica o elemento de informações do dispositivo em DeviceInfoSet. SetupDiSelectBestCompatDrv seleciona o melhor driver para um elemento de informações do dispositivo na lista de driver compatível para o dispositivo especificado.

Retornar valor

Se a operação for bem-sucedida, SetupDiSelectBestCompatDrv retornará TRUE. Caso contrário, a função retornará FALSE e o erro registrado poderá ser recuperado por uma chamada para GetLastError.

Comentários

Se o chamador de SetupDiSelectBestCompatDrv for membro do grupo Administradores e a classe do dispositivo for diferente da classe do driver selecionado, SetupDiSelectBestCompatDrv definirá a classe do dispositivo como a classe do driver. Se esse comportamento não for desejado, chame essa função em um nível de privilégio inferior.

Nota Somente um instalador de classe deve chamar SetupDiSelectBestCompatDrv e somente nas situações em que o instalador de classe deve executar operações de seleção de driver depois que SetupDiSelectBestCompatDrv concluir a operação de seleção de driver padrão. Nessas situações, o instalador de classe deve chamar diretamente SetupDiSelectBestCompatDrv quando o instalador processa uma solicitação de DIF_SELECTBESTCOMPATDRV. Para obter mais informações sobre como chamar o manipulador padrão, consulte Chamando manipuladores de código DIF padrão.
 
SetupDiSelectBestCompatDrv foi projetado principalmente para selecionar o melhor driver compatível para um elemento de informações do dispositivo em um computador local. Embora SetupDiSelectBestCompatDrv não falhe se o conjunto de informações do dispositivo for para um computador remoto, o resultado é de uso limitado porque o conjunto de informações do dispositivo não pode ser usado posteriormente como entrada com solicitações de instalação DIF_Xxx ou funções SetupDiXxx que não dão suporte a operações para um computador remoto. Em particular, o conjunto de informações do dispositivo não pode ser usado posteriormente como entrada com uma solicitação de instalação DIF_INSTALLDEVICE para instalar um dispositivo em um computador remoto.

Para obter informações sobre como o melhor driver é selecionado, consulte Como o Windows seleciona drivers.

Para obter o driver selecionado para um dispositivo, chame SetupDiGetSelectedDriver.

Requisitos

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

Confira também

DIF_SELECTBESTCOMPATDRV

SP_DEVINFO_DATA