Chamando os manipuladores de código DIF padrão

Observação

Os recursos descritos nesta seção não têm suporte em pacotes de driver Universal ou móvel. Consulte usando um arquivo inf universal.

Os manipuladores de código DIF padrão executam operações padrão definidas pelo sistema para códigos dif. Conforme descrito em manipulando códigos de dif, SetupDiCallClassInstaller chama o manipulador padrão para uma solicitação de dif depois que o instalador de classe e o coinstalador processam primeiro a solicitação de dif, mas antes de SetupDiCallClassInstaller rechamar os coinstaladores registrados para o pós-processamento da solicitação.

Observação A operação de SetupDiCallClassInstaller não pode ser configurada para solicitar o instalador de classe a pós-processamento de uma solicitação de dif.

Nessas situações em que um instalador de classe deve executar operações para uma solicitação de dif depois que o manipulador padrão é chamado, o instalador de classe deve chamar diretamente o manipulador padrão quando processa a solicitação de dif, da seguinte maneira:

  1. Execute operações que devem ser executadas antes de chamar o manipulador padrão.

  2. Chame o manipulador padrão para executar as operações padrão.

    Observação O instalador de classe não deve tentar substituir a operação do manipulador padrão.

  3. Execute as operações que devem ser executadas depois que o manipulador padrão retorna.

  4. Retorne NO_ERROR se o instalador de classe concluir com êxito o processamento da solicitação DIF ou retornar um erro Win32 se o processamento tiver falhado.

Oscoinstaladoresimportantese os aplicativos de instalação do dispositivo não devem chamar os manipuladores de código dif padrão.

Para obter um exemplo de uma situação em que esse método deve ser usado, consulte as informações sobre como chamar o manipulador padrão SetupDiInstallDevice na página de referência de DIF_INSTALLDEVICE solicitação.

A tabela a seguir lista os códigos de DIF que têm manipuladores padrão.

Código de DIF Função de manipulador de código DIF padrão
DIF_PROPERTYCHANGE SetupDiChangeState
DIF_FINISHINSTALL_ACTION SetupDiFinishInstallAction
DIF_INSTALLDEVICE SetupDiInstallDevice
DIF_INSTALLINTERFACES SetupDiInstallDeviceInterfaces
DIF_INSTALLDEVICEFILES SetupDiInstallDriverFiles
DIF_REGISTER_COINSTALLERS SetupDiRegisterCoDeviceInstallers
DIF_REGISTERDEVICE SetupDiRegisterDeviceInfo
DIF_REMOVE SetupDiRemoveDevice
DIF_SELECTBESTCOMPATDRV SetupDiSelectBestCompatDrv
DIF_SELECTDEVICE SetupDiSelectDevice
DIF_UNREMOVE SetupDiUnremoveDevice