Função SetupDiChangeState (setupapi.h)

A função SetupDiChangeState é o manipulador padrão para a solicitação de instalação DIF_PROPERTYCHANGE .

Sintaxe

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

Parâmetros

[in] DeviceInfoSet

Um identificador para um conjunto de informações de dispositivo para o computador local. Esse conjunto contém um elemento de informações do dispositivo que representa o dispositivo cujo estado deve ser alterado.

[in, out] DeviceInfoData

Um ponteiro para uma estrutura SP_DEVINFO_DATA que especifica o elemento de informações do dispositivo em DeviceInfoSet. Esse é um parâmetro IN-OUT porque DeviceInfoData.DevInst pode ser atualizado com um novo valor de identificador no retorno.

Retornar valor

A função retornará TRUE se for bem-sucedida. Caso contrário, ele retornará FALSE e o erro registrado poderá ser recuperado fazendo uma chamada para GetLastError.

Comentários

SetupDiChangeState altera o estado de um dispositivo instalado.

O chamador de SetupDiChangeState deve ser membro do grupo Administradores.

Nota Somente um instalador de classe deve chamar SetupDiChangeState e somente nessas situações em que o instalador de classe deve executar operações de alteração de propriedade após SetupDiChangeState concluir a operação de alteração de propriedade padrão. Nessas situações, o instalador de classe deve chamar diretamente SetupDiChangeState quando o instalador processa uma solicitação DIF_PROPERTYCHANGE. Para obter mais informações sobre como chamar o manipulador padrão, consulte Chamando manipuladores de código DIF padrão.
 
Os chamadores de SetupDiChangeState devem especificar um sinalizador DICS_XXX no SP_PROPCHANGE_PARAMS para o elemento do dispositivo que indica o tipo de alteração de estado a ser executada no dispositivo. Os chamadores dessa função devem definir os campos apropriados no SP_PROPCHANGE_PARAMS e chamar SetupDiSetClassInstallParams antes de chamar essa função.

Se você especificar o sinalizador DICS_FLAG_CONFIGSPECIFIC no SP_PROPCHANGE_PARAMS deverá preencher o campo HwProfile . Um valor zero para HwProfile indica o perfil atual.

Para habilitar/desabilitar um dispositivo no perfil de hardware atual, defina o sinalizador DICS_FLAG_CONFIGSPECIFIC no SP_PROPCHANGE_PARAMS. Para habilitar/desabilitar um dispositivo globalmente, como nos perfis de hardware encaixados e desencaixados, defina o sinalizador DICS_FLAG_GLOBAL.

Essa função faz o seguinte:

Os chamadores dessa função não devem especificar DICS_STOP ou DICS_START no SP_PROPCHANGE_PARAMS. Use DICS_PROPCHANGE para interromper e reiniciar um dispositivo para fazer com que as alterações na configuração do dispositivo entrem em vigor.

Se DI_DONOTCALLCONFIGMG estiver definido para um dispositivo, você não deverá chamar SetupDiChangeState para o dispositivo, mas deve definir o sinalizador DI_NEEDREBOOT.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Microsoft 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
Conjunto de APIs ext-ms-win-setupapi-classinstallers-l1-1-2 (introduzido no Windows 10, versão 10.0.14393)

Confira também

DIF_PROPERTYCHANGE

SP_PROPCHANGE_PARAMS

SetupDiCallClassInstaller