Funzione InstallSelectedDriver

La funzione InstallSelectedDriver è deprecata. Per Windows Vista e versioni successive, usare invece DiInstallDevice .

Sintassi

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

Parametri

hwndParent [in]
Handle per la finestra di primo livello usata dalla funzione InstallSelectedDriver per visualizzare i componenti dell'interfaccia utente associati all'installazione del driver.

DeviceInfoSet [in]
Handle per un set di informazioni sul dispositivo che contiene un elemento informazioni sul dispositivo che rappresenta un dispositivo selezionato e un driver selezionato per il dispositivo. Per altre informazioni su come selezionare un dispositivo e un driver per un dispositivo, vedere la sezione Osservazioni seguente.

Riservato [in]
Questo parametro deve essere impostato su NULL.

Backup [in]
Valore di tipo BOOL che determina se InstallSelectedDriver esegue il backup dei driver attualmente installati per il dispositivo selezionato prima che la funzione installi il driver selezionato per il dispositivo. Se viene eseguito il backup dei driver attualmente installati e l'utente riscontra un problema con il nuovo driver, l'utente può eseguire il rollback dell'installazione del nuovo driver nel driver di cui è stato eseguito il backup. Se non viene eseguito il backup dei driver attualmente installati, l'utente non può eseguire il rollback dell'installazione del nuovo driver nel driver installato in precedenza. Se Backup è impostato su TRUE, InstallSelectedDriver esegue il backup dei driver attualmente installati; in caso contrario, la funzione non esegue il backup dei driver attualmente installati. Per altre informazioni sul backup del driver, vedere DiRollbackDriver.

bReboot [out]
Puntatore a una variabile di tipo DWORD impostata da InstallSelectedDriver per indicare se è necessario un riavvio del sistema per completare l'installazione. Se la variabile è impostata su DI_NEEDREBOOT, è necessario riavviare il sistema; in caso contrario, non è necessario riavviare il sistema. Il chiamante è responsabile del riavvio del sistema.

Valore restituito

InstallSelectedDriver restituisce TRUE se il driver selezionato è stato installato nel dispositivo selezionato; in caso contrario, la funzione restituisce FALSE e l'errore registrato può essere recuperato effettuando una chiamata a GetLastError.

Di seguito sono riportati alcuni dei valori di errore più comuni restituiti da GetLastError :

Codice restituito Descrizione
NO_ERROR

Il driver selezionato è una corrispondenza migliore con il driver rispetto al driver installato in precedenza nel dispositivo.

ERROR_IN_WOW64

L'applicazione chiamante è un'applicazione a 32 bit che tenta di eseguire in un ambiente a 64 bit, che non è consentita. Per altre informazioni, vedere Installazione di dispositivi in sistemi a 64 bit.

Commenti

Per accedere a InstallSelectedDriver, chiamare LoadLibrary per caricare Newdev.dll e quindi chiamare GetProcAddress per ottenere un puntatore a funzione a InstallSelectedDriver.

È consigliabile chiamare InstallSelectedDriver solo se è necessario installare un driver specifico in un dispositivo specifico.

Importante Per Windows Vista e versioni successive di Windows, chiamare DiInstallDevice anziché InstallSelectedDriver per eseguire questo tipo di operazione.

Oltre alle applicazioni speciali che richiedono l'installazione di un driver specifico in un dispositivo specifico, un'applicazione di installazione deve installare il driver più adatto per un dispositivo. Per installare il driver più adatto a un dispositivo, chiama DiInstallDriver o UpdateDriverForPlugAndPlayDevices. Per altre informazioni su quali di queste funzioni chiamare per installare un driver in un dispositivo, vedere Funzioni SetupAPI che semplificano l'installazione del driver.

Prima di chiamare InstallSelectedDriver, il chiamante deve ottenere un set di informazioni sul dispositivo che contiene il dispositivo, selezionare il dispositivo nel set e selezionare un driver per il dispositivo.

Per creare un set di informazioni sul dispositivo contenente il dispositivo, eseguire una delle operazioni seguenti:

  • Chiamare SetupDiGetClassDevs per recuperare un set di informazioni sul dispositivo contenente il dispositivo e quindi chiamare SetupDiEnumDeviceInfo per enumerare i dispositivi nel set di informazioni sul dispositivo. In ogni chiamata SetupDiEnumDeviceInfo restituisce una struttura SP_DEVINFO_DATA che rappresenta il dispositivo enumerato nel set di informazioni sul dispositivo. Per ottenere informazioni specifiche sul dispositivo enumerato, chiamare SetupDiGetDeviceRegistryProperty e fornire la struttura SP_DEVINFO_DATA restituita da SetupDiEnumDeviceInfo.

    • oppure -
  • Chiamare SetupDiOpenDeviceInfo per aggiungere un dispositivo con un ID istanza del dispositivo noto al set di informazioni sul dispositivo. SetupDiOpenDeviceInfo restituisce una struttura SP_DEVINFO_DATA che rappresenta il dispositivo nel set di informazioni sul dispositivo.

Dopo aver ottenuto la struttura di SP_DEVINFO_DATA per un dispositivo, chiamare SetupDiSetSelectedDevice per selezionare il dispositivo nel set di informazioni sul dispositivo.

Per recuperare un driver per un dispositivo, chiamare SetupDiBuildDriverInfoList per compilare un elenco di driver compatibili per il dispositivo e quindi chiamare SetupDiEnumDriverInfo per enumerare gli elementi dell'elenco di driver per il dispositivo. Per ogni driver enumerato, SetupDiEnumDriverInfo recupera una struttura SP_DRVINFO_DATA che rappresenta il driver. SetupDiGetDriverInfoDetail può essere chiamato per recuperare dettagli aggiuntivi su un driver enumerato.

Dopo aver ottenuto una struttura SP_DRVINFO_DATA per il driver, chiamare SetupDiSetSelectedDriver per selezionare il driver per il dispositivo.

Requisiti

Piattaforma di destinazione

Desktop

Versione

Disponibile in Microsoft Windows 2000 e versioni successive di Windows.

Intestazione

Nessuno (la funzione InstallSelectedDriver non è definita in un file di intestazione pubblica. Per altre informazioni, vedere la sezione Osservazioni . )

Libreria

Newdev.lib

DLL

Newdev.dll

Vedi anche

DiInstallDevice

DiInstallDriver

SetupDiBuildDriverInfoList

SetupDiEnumDeviceInfo

SetupDiEnumDriverInfo

SetupDiGetClassDevs

SetupDiGetDeviceRegistryProperty

SetupDiGetDriverInfoDetail

SetupDiOpenDeviceInfo

SetupDiSetSelectedDevice

SetupDiSetSelectedDriver

UpdateDriverForPlugAndPlayDevices