调用默认 DIF 代码处理程序

注意

通用或移动驱动程序包不支持本部分所述的功能。 请参阅 使用通用 INF 文件

默认 DIF 代码处理程序对 DIF 代码执行系统定义的默认操作。 如处理 DIF 代码中所述,在类安装程序共同安装程序首先处理 DIF 请求之后,但在 SetupDiCallClassInstaller 召回注册后处理请求的共同安装程序之前,SetupDiCallClassInstaller 会调用 DIF 请求的默认处理程序。

注意 无法将 SetupDiCallClassInstaller 的操作配置为召回类安装程序以后处理 DIF 请求。

类安装程序 必须在调用默认处理程序后对 DIF 请求执行操作的情况下,类安装程序在处理 DIF 请求时必须直接调用默认处理程序,如下所示:

  1. 执行在调用默认处理程序之前必须完成的操作。

  2. 调用默认处理程序以执行默认操作。

    注意 类安装程序不得尝试取代默认处理程序的操作。

  3. 执行在默认处理程序返回后必须执行的操作。

  4. 如果类安装程序成功完成了 DIF 请求的处理,则返回NO_ERROR;如果处理失败,则返回 Win32 错误。

重要提示共同安装程序和设备安装应用程序不得调用默认的 DIF 代码处理程序。

有关必须使用此方法的示例,请参阅DIF_INSTALLDEVICE请求引用页上有关调用默认处理程序 SetupDiInstallDevice 的信息。

下表列出了具有默认处理程序的 DIF 代码。

DIF 代码 默认 DIF 代码处理程序函数
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