DIF_INSTALLDEVICEFILES
DIF_INSTALLDEVICEFILES请求允许安装程序参与复制文件以支持设备或为设备创建文件列表。 设备文件包括所选驱动程序的文件、任何设备接口以及任何共同安装程序的文件。
发送时
系统提供的设备安装组件 出于各种原因发送此 DIF 请求。 某些设备安装组件在DIF_REGISTER_COINSTALLERS、DIF_INSTALLINTERFACES和DIF_INSTALL_DEVICE之前发送此 DIF 请求,以确保可以在继续安装之前复制所有相关文件。 某些设备安装组件省略此 DIF 请求,并期望在处理这三个 DIF 请求期间复制文件。 此外,某些设备安装组件发送此 DIF 请求以检索与设备关联的文件列表。
处理者
类共同安装程序 | 可以处理 |
---|---|
设备共同安装程序 | 不处理 |
类安装程序 | 可以处理 |
安装程序输入
DeviceInfoSet
为
DeviceInfoData
提供指向标识设备信息集中设备的 SP_DEVINFO_DATA 结构的指针。
设备安装参数
有与 DeviceInfoData关联的设备安装参数(SP_DEVINSTALL_PARAMS)。
如果设置了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 来指定文件操作。 有关如何使用文件队列和文件队列函数(如 SetupInstallFilesFromInfSection)上的参考页的信息,请参阅 Microsoft Windows SDK。
如果在设备安装期间发送此 DIF 请求,并且安装程序将返回 Microsoft Win32 错误代码,Windows 将停止安装。
如果 系统提供的设备安装组件 发送此 DIF 请求以检索与设备关联的文件列表,则组件将检索文件队列,但不提交队列。
有关 DIF 代码的详细信息,请参阅 处理 DIF 代码。
要求
版本 | Microsoft Windows 2000 及更高版本 |
页眉 | Setupapi.h (包括 Setupapi.h) |