Condividi tramite


DIF_DETECT

Una richiesta di DIF_DETECT indirizza un programma di installazione per rilevare i dispositivi non PnP di una determinata classe e aggiungere i dispositivi al set di informazioni sul dispositivo. Questa richiesta viene usata per i dispositivi non PnP.

Data di invio

Quando l'Aggiunta guidata hardware rileva i dispositivi non PnP.

Chi gestisce

Co-programma di installazione classi

Può gestire

Programma di installazione condivisa del dispositivo

Non gestisce

Programma di installazione classi

Può gestire

Input del programma di installazione

DeviceInfoSet
Fornisce un handle al set di informazioni sul dispositivo. Esiste una classe di configurazione del dispositivo associata a DeviceInfoSet.

DeviceInfoData
Nessuno

Parametri di installazione del dispositivo
Esistono parametri di installazione del dispositivo associati a DeviceInfoSet.

Parametri di installazione della classe
Una struttura SP_DETECTDEVICE_PARAMS è associata a DeviceInfoSet. I parametri contengono una routine di callback che il programma di installazione della classe chiama per indicare lo stato di avanzamento dell'operazione di rilevamento.

Output del programma di installazione

DeviceInfoSet
Un programma di installazione aggiunge un elemento informazioni sul dispositivo a DeviceInfoSet per ogni dispositivo rilevato, indipendentemente dal fatto che un dispositivo sia stato rilevato e installato in precedenza.

Parametri di installazione del dispositivo
Un programma di installazione può modificare i parametri di installazione del dispositivo per DeviceInfoSet o per i nuovi elementi di informazioni del dispositivo creati.

Valore restituito del programma di installazione

Se un co-programma di installazione non rileva i dispositivi, restituisce NO_ERROR dal passaggio di pre-elaborazione. Se un co-programma di installazione rileva i dispositivi, può farlo durante la pre-elaborazione o la post-elaborazione e restituire NO_ERROR o un codice di errore Win32.

Se un programma di installazione di classe rileva i dispositivi, restituisce NO_ERROR o un codice di errore Win32 appropriato. Se un programma di installazione classi non gestisce questa richiesta DIF, restituisce ERROR_DI_DO_DEFAULT.

Gestore di codice DIF predefinito

Nessuno

Operazione del programma di installazione

In risposta a una richiesta di DIF_DETECT un programma di installazione può rilevare i dispositivi della relativa classe di installazione.

Se un programma di installazione rileva i dispositivi, deve eseguire almeno le operazioni seguenti:

  • Chiamare la routine di callback DetectProgressNotify nei parametri di installazione della classe SP_DETECTDEVICE_PARAMS , se il rilevamento richiederà potenzialmente una notevole quantità di tempo.

  • Per ogni dispositivo rilevato dal programma di installazione, deve:

    • Creare un elemento informazioni sul dispositivo (SetupDiCreateDeviceInfo).

    • Specificare le informazioni per la selezione del driver.

      Il programma di installazione può selezionare manualmente il driver per il dispositivo o il programma di installazione può impostare l'ID hardware del dispositivo che Windows userà per trovare un INF per il dispositivo. Un programma di installazione imposta l'ID hardware chiamando SetupDiSetDeviceRegistryProperty con il valore Property di SPDRP_HARDWAREID.

    • È possibile impostare alcuni parametri di installazione del dispositivo.

  • Restituisce NO_ERROR per il rilevamento corretto o per restituire un codice di errore Win32.

Se uno o più programmi di installazione rilevano i dispositivi in risposta a questo codice DIF, Windows confronta l'elenco dei dispositivi rilevati con il relativo elenco corrente di dispositivi. Se i programmi di installazione hanno rilevato un nuovo dispositivo, Windows tenta di installare il dispositivo. Se i programmi di installazione omettono un dispositivo visualizzato nell'elenco dell'installazione, Windows rimuove in genere il dispositivo.

Per rilevare i dispositivi non PnP durante l'installazione in modalità GUI, un programma di installazione deve gestire la richiesta di DIF_FIRSTTIMESETUP . L'installazione in modalità GUI non invia una richiesta di DIF_DETECT al programma di installazione.

Per altre informazioni sui codici DIF, vedere Gestione dei codici DIF.

Requisiti

Versione

Supportato in Microsoft Windows 2000 e versioni successive di Windows.

Intestazione

Setupapi.h (include Setupapi.h)

Vedi anche

DIF_DETECT

DIF_FIRSTTIMESETUP

SetupDiCreateDeviceInfo

SP_DETECTDEVICE_PARAMS

SP_DEVINSTALL_PARAMS