Funzione SetupDiChangeState (setupapi.h)

La funzione SetupDiChangeState è il gestore predefinito per la richiesta di installazione DIF_PROPERTYCHANGE .

Sintassi

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

Parametri

[in] DeviceInfoSet

Handle per un set di informazioni sul dispositivo per il computer locale. Questo set contiene un elemento informazioni sul dispositivo che rappresenta il dispositivo il cui stato deve essere modificato.

[in, out] DeviceInfoData

Puntatore a una struttura SP_DEVINFO_DATA che specifica l'elemento informazioni sul dispositivo in DeviceInfoSet. Si tratta di un parametro IN-OUT perché DeviceInfoData.DevInst potrebbe essere aggiornato con un nuovo valore handle al momento della restituzione.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce TRUE . In caso contrario, restituisce FALSE e l'errore registrato può essere recuperato effettuando una chiamata a GetLastError.

Commenti

SetupDiChangeState modifica lo stato di un dispositivo installato.

Il chiamante di SetupDiChangeState deve essere membro del gruppo Administrators.

Nota Solo un programma di installazione di classe deve chiamare SetupDiChangeState e solo in quelle situazioni in cui il programma di installazione della classe deve eseguire operazioni di modifica delle proprietà dopo che SetupDiChangeState completa l'operazione di modifica della proprietà predefinita. In tali situazioni, il programma di installazione della classe deve chiamare direttamente SetupDiChangeState quando il programma di installazione elabora una richiesta di DIF_PROPERTYCHANGE. Per altre informazioni sulla chiamata al gestore predefinito, vedere Chiamata di gestori di codice DIF predefiniti.
 
I chiamanti di SetupDiChangeState devono specificare un flag DICS_XXX nel SP_PROPCHANGE_PARAMS per l'elemento del dispositivo che indica il tipo di modifica dello stato da eseguire nel dispositivo. I chiamanti di questa funzione devono impostare i campi appropriati nel SP_PROPCHANGE_PARAMS e chiamare SetupDiSetClassInstallParams prima di chiamare questa funzione.

Se si specifica il flag DICS_FLAG_CONFIGSPECIFIC nel SP_PROPCHANGE_PARAMS, è necessario compilare il campo HwProfile . Il valore zero per HwProfile indica il profilo corrente.

Per abilitare/disabilitare un dispositivo nel profilo hardware corrente, impostare il flag di DICS_FLAG_CONFIGSPECIFIC nel SP_PROPCHANGE_PARAMS. Per abilitare o disabilitare un dispositivo a livello globale, ad esempio nei profili hardware ancorati e non ancorati, impostare il flag di DICS_FLAG_GLOBAL.

Questa funzione esegue le operazioni seguenti:

I chiamanti di questa funzione non devono specificare DICS_STOP o DICS_START nel SP_PROPCHANGE_PARAMS. Usare DICS_PROPCHANGE per arrestare e riavviare un dispositivo per rendere effettive le modifiche alla configurazione del dispositivo.

Se DI_DONOTCALLCONFIGMG è impostato per un dispositivo, non è consigliabile chiamare SetupDiChangeState per il dispositivo, ma impostare invece il flag DI_NEEDREBOOT.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Microsoft Windows 2000 e versioni successive di Windows.
Piattaforma di destinazione Desktop
Intestazione setupapi.h (include Setupapi.h)
Libreria Setupapi.lib
DLL Setupapi.dll
Set di API ext-ms-win-setupapi-classinstallers-l1-1-2 (introdotto in Windows 10, versione 10.0.14393)

Vedi anche

DIF_PROPERTYCHANGE

SP_PROPCHANGE_PARAMS

SetupDiCallClassInstaller