DIF_PROPERTYCHANGE
Uma solicitação DIF_PROPERTYCHANGE notifica o instalador de que as propriedades do dispositivo estão mudando. O dispositivo está sendo habilitado, desabilitado, iniciado, interrompido ou algum item em uma página de propriedades foi alterado. Essa solicitação DIF dá ao instalador a oportunidade de participar da alteração.
Quando enviado
Quando um dispositivo está sendo habilitado, desabilitado, reiniciado, parado ou suas propriedades foram alteradas.
Por exemplo, o Windows envia essa solicitação quando um provedor de página de propriedades define o sinalizador DI_FLAGSEX_PROPCHANGE_PENDING no campo FlagsEx da estrutura SP_DEVINSTALL_PARAMS do dispositivo.
Para obter mais informações sobre como detectar quando um dispositivo é iniciado pela primeira vez ou reiniciado posteriormente, consulte a seção Operação do Instalador.
Quem manipula
Co-instalador de classe |
Pode manipular |
Co-instalador de dispositivo |
Pode manipular |
Instalador de Classe |
Pode manipular |
Entrada do instalador
DeviceInfoSet
Fornece um identificador para o conjunto de informações do dispositivo que contém o dispositivo.
DeviceInfoData
Fornece um ponteiro para uma estrutura SP_DEVINFO_DATA para o dispositivo no conjunto de informações do dispositivo.
Parâmetros de instalação do dispositivo
Há parâmetros de instalação do dispositivo (SP_DEVINSTALL_PARAMS) associados ao DeviceInfoData.
Parâmetros de instalação de classe
Uma estrutura SP_PROPCHANGE_PARAMS está associada ao DeviceInfoData.
Saída do instalador
Valor retornado do instalador
Um co-instalador pode retornar NO_ERROR, ERROR_DI_POSTPROCESSING_REQUIRED ou um código de erro Win32.
Se um instalador de classe lidar com êxito com essa solicitação e SetupDiCallClassInstaller chamar posteriormente o manipulador padrão, o instalador de classe retornará ERROR_DI_DO_DEFAULT.
Se o instalador de classe manipular essa solicitação com êxito, incluindo chamar diretamente o manipulador padrão, o instalador de classe deverá retornar NO_ERROR e SetupDiCallClassInstaller não chamará o manipulador padrão novamente.
Nota O instalador de classe pode chamar diretamente o manipulador padrão, mas o instalador de classe nunca deve tentar substituir as operações do manipulador padrão.
Para obter mais informações sobre como chamar o manipulador padrão, consulte Chamando manipuladores de código DIF padrão.
Se o instalador de classe encontrar um erro, o instalador deverá retornar um código de erro Win32 apropriado e SetupDiCallClassInstaller não chamará posteriormente o manipulador padrão.
Manipulador de código DIF padrão
Operação do instalador
Em resposta a uma solicitação de DIF_PROPERTYCHANGE um instalador pode participar da operação de alteração de propriedade. Os parâmetros de instalação de classe (SP_PROPCHANGE_PARAMS) indicam qual alteração está ocorrendo.
Uma alteração de propriedade pode exigir uma reinicialização do sistema. Para obter informações sobre como reiniciar o sistema, consulte SetupDiCallClassInstaller.
Quando o Windows envia uma solicitação DIF_INSTALLDEVICE para instalar um dispositivo pela primeira vez, o Windows inicia o dispositivo, mas não envia uma solicitação DIF_PROPERTYCHANGE como parte da instalação. Se uma operação de instalação personalizada precisar ser executada quando um dispositivo for iniciado pela primeira vez e sempre que o dispositivo for reiniciado posteriormente, um instalador ou um co-instalador deverá lidar com a solicitação DIF_INSTALLDEVICE que inicia o dispositivo pela primeira vez e uma solicitação DIF_PROPERTYCHANGE que indica que a ação de alteração de estado é que o dispositivo está sendo iniciado.
Para obter mais informações sobre códigos DIF, consulte Manipulando códigos DIF.
Requisitos
Versão |
Com suporte no Microsoft Windows 2000 e versões posteriores do Windows. |
Cabeçalho |
Setupapi.h (inclua Setupapi.h) |