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 代码处理程序
安装程序操作
为了响应DIF_INSTALLDEVICEFILES请求,安装程序会指定任何必要的文件操作。 例如,安装程序可以指定要复制设备安装所需的其他文件。 如果设置了DI_NOVCP标志,安装程序会通过将文件操作添加到设备安装参数中的 FileQueue 来指定文件操作。 请参阅Microsoft Windows SDK,了解有关如何使用文件队列的信息,以及有关文件队列函数(如 SetupInstallFilesFromInfSection)的参考页的信息。
如果在设备安装期间发送此 DIF 请求,并且安装程序返回 Microsoft Win32 错误代码,则 Windows 将停止安装。
如果 系统提供的设备安装组件 发送此 DIF 请求以检索与设备关联的文件列表,该组件将检索文件队列,但不提交队列。
有关 DIF 代码的详细信息,请参阅 处理 DIF 代码。
要求
版本 |
在 Microsoft Windows 2000 及更高版本的 Windows 中受支持。 |
标头 |
Setupapi.h (包括 Setupapi.h) |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈