DIF_INSTALLDEVICEFILES

DIF_INSTALLDEVICEFILES请求允许安装程序参与复制文件以支持设备或为设备创建文件列表。 设备文件包括所选驱动程序、任何设备接口和任何共同安装程序的文件。

发送时

系统提供的设备安装组件出于各种原因发送此 DIF 请求。 某些设备安装组件在DIF_REGISTER_COINSTALLERS、DIF_INSTALLINTERFACES和DIF_INSTALL_DEVICE之前发送此 DIF 请求,以确保在继续安装之前可以复制所有相关文件。 某些设备安装组件省略此 DIF 请求,并期望在处理这三个 DIF 请求期间复制文件。 此外,某些设备安装组件会发送此 DIF 请求,以检索与设备关联的文件列表。

谁处理

类共同安装程序

可以处理

设备共同安装程序

不处理

类安装程序

可以处理

安装程序输入

DeviceInfoSet
为包含要复制其支持文件 的设备的设备信息集 提供句柄。

DeviceInfoData
提供指向 SP_DEVINFO_DATA 结构的指针,该结构标识设备信息集中的设备。

设备安装参数
设备安装参数 (SP_DEVINSTALL_PARAMS) 与 DeviceInfoData 相关联。

如果设置了DI_NOVCP标志,则设备安装参数包含有效的 FileQueue 句柄,处理此 DIF 请求的安装程序会将其文件操作添加到此队列,但不提交队列。

类安装参数

安装程序输出

设备安装参数
安装程序可以修改 FileQueue(如果有)。

安装程序返回值

共同安装程序可以返回NO_ERROR、ERROR_DI_POSTPROCESSING_REQUIRED或 Win32 错误代码。

如果类安装程序成功处理此请求,并且 SetupDiCallClassInstaller 随后应调用默认处理程序,则类安装程序将返回ERROR_DI_DO_DEFAULT。

如果类安装程序成功处理此请求(包括直接调用默认处理程序),则类安装程序应返回NO_ERROR并且 SetupDiCallClassInstaller 随后不会再次调用默认处理程序。

注意 类安装程序可以直接调用默认处理程序,但类安装程序不应尝试取代默认处理程序的操作。

有关调用默认处理程序的详细信息,请参阅 调用默认 DIF 代码处理程序

如果类安装程序遇到错误,安装程序应返回相应的 Win32 错误代码, 并且 SetupDiCallClassInstaller 随后不会调用默认处理程序。

默认 DIF 代码处理程序

SetupDiInstallDriverFiles

安装程序操作

为了响应DIF_INSTALLDEVICEFILES请求,安装程序会指定任何必要的文件操作。 例如,安装程序可以指定要复制设备安装所需的其他文件。 如果设置了DI_NOVCP标志,安装程序会通过将文件操作添加到设备安装参数中的 FileQueue 来指定文件操作。 请参阅Microsoft Windows SDK,了解有关如何使用文件队列的信息,以及有关文件队列函数(如 SetupInstallFilesFromInfSection)的参考页的信息。

如果在设备安装期间发送此 DIF 请求,并且安装程序返回 Microsoft Win32 错误代码,则 Windows 将停止安装。

如果 系统提供的设备安装组件 发送此 DIF 请求以检索与设备关联的文件列表,该组件将检索文件队列,但不提交队列。

有关 DIF 代码的详细信息,请参阅 处理 DIF 代码

要求

版本

在 Microsoft Windows 2000 及更高版本的 Windows 中受支持。

标头

Setupapi.h (包括 Setupapi.h)

另请参阅

SetupDiInstallDriverFiles

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS