SetupDiCallClassInstaller 函数 (setupapi.h)

您所在的位置:网站首页 众数函数怎么用 SetupDiCallClassInstaller 函数 (setupapi.h)

SetupDiCallClassInstaller 函数 (setupapi.h)

2023-05-11 07:53| 来源: 网络整理| 查看: 265

SetupDiCallClassInstaller 函数 (setupapi.h) 项目 09/27/2022

SetupDiCallClassInstaller 函数调用相应的类安装程序和任何已注册的共同安装程序, (DIF 代码) 指定的安装请求。

语法 WINSETUPAPI BOOL SetupDiCallClassInstaller( [in] DI_FUNCTION InstallFunction, [in] HDEVINFO DeviceInfoSet, [in, optional] PSP_DEVINFO_DATA DeviceInfoData ); 参数

[in] InstallFunction

设备安装请求 (DIF 请求) 传递给共同安装程序和类安装程序。 DIF 代码的格式 为 DIF_XXX ,并在 Setupapi.h 中定义。 有关详细信息,请参阅 设备安装函数代码 。

注意 对于某些 DIF 请求,调用方必须是管理员组的成员。 对于此类 DIF 请求,此要求在关联的默认处理程序的参考页上列出。  

[in] DeviceInfoSet

为本地计算机 设置的设备信息的 句柄。 此集包含一个设备安装元素,该元素表示要为其执行指定安装函数的设备。

[in, optional] DeviceInfoData

指向 SP_DEVINFO_DATA 结构的指针,该结构指定 DeviceInfoSet 中的设备信息元素,该元素表示要为其执行指定安装函数的设备。 此参数是可选的,可设置为 NULL。 如果指定此参数, SetupDiCallClassInstaller 在 DeviceInfoData 元素上执行指定的函数。 如果 DeviceInfoData 为 NULLSetupDiCallClassInstaller 将调用与 DeviceInfoSet 关联的安装类的安装程序。

返回值

如果函数成功,则返回 TRUE 。 否则,它返回 FALSE ,可以通过调用 GetLastError 来检索记录的错误。

当 GetLastError 返回 ERROR_IN_WOW64时,这意味着调用应用程序是尝试在 64 位环境中执行的 32 位应用程序,这是不允许的。

注解

SetupDiCallClassInstaller 调用类安装程序和为设备或 设备安装类注册的任何共同安装程序。 此函数加载安装程序(如果尚未加载)。 如果存在默认处理程序,并且安装程序返回指示应调用默认处理程序的状态,该函数还会调用 DIF 请求的默认处理程序。

设备安装应用程序 使用各种 设备安装函数代码 调用此函数, (DIF 代码) 。 该函数可确保为给定的 DIF 请求按正确的顺序调用所有适当的安装程序和默认处理程序。 有关详细信息,请参阅 处理 DIF 代码。

SetupDiCallClassInstaller 返回 TRUE 后,设备安装应用程序必须调用 SetupDiGetDeviceInstallParams 以获取SP_DEVINSTALL_PARAMS结构。 如果设置了结构的 DI_NEEDREBOOTDI_NEEDRESTART 标志,调用方必须提示用户重启系统。 例如,调用方可以通过调用 SetupPromptReboot 执行此操作。

但是,请注意,设备安装应用程序应最多请求一次系统重启。 因此,任何创建对 SetupDiCallClassInstaller 和 SetupDiGetDeviceInstallParams 的多个调用的设备安装应用程序都应在每个调用后保存 DI_NEEDREBOOTDI_NEEDRESTART 标志。 但是,它应仅在最后一次调用返回后提示用户。

为了响应 SetupDiCallClassInstaller 提供的 DIF 代码,类安装程序和共同安装程序可能会执行需要重启系统的操作。 在这种情况下,安装程序或共同安装程序应执行以下操作:

调用 SetupDiGetDeviceInstallParams 以获取 SP_DEVINSTALL_PARAMS 结构。 在结构的 Flags 成员中设置DI_NEEDREBOOTDI_NEEDRESTART标志。 调用 SetupDiSetDeviceInstallParams,提供更新 SP_DEVINSTALL_PARAMS 结构,以保存修订后的 Flags 成员。 SetupDiCallClassInstaller 返回后,调用它的设备安装应用程序应调用 SetupDiGetDeviceInstallParams,检查标志,并在必要时请求重启。

DeviceInfoSet 指定的设备信息只能包含本地计算机上的设备的元素。

有关协同安装程序设计和操作的信息,请参阅 编写共同安装程序。

要求     最低受支持的客户端 在 Microsoft Windows 2000 及更高版本的 Windows 中可用。 目标平台 台式机 标头 setupapi.h (包括 Setupapi.h) Library Setupapi.lib DLL Setupapi.dll API 集 在 Windows 8) 中引入的 ext-ms-win-setupapi-classinstallers-l1-1-0 ( 另请参阅

SP_DEVINFO_DATA



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3