setupSetDirectoryIdA 函数 (setupapi.h)

[此函数可用于“要求”部分所示的操作系统。 它可能在后续版本中变更或不可用。 不应再使用 SetupAPI 来安装应用程序。 请改用 Windows Installer 开发应用程序安装程序。 SetupAPI 继续用于安装设备驱动程序。]

SetupSetDirectoryId 函数将 INF 文件中的目录标识符与特定目录相关联。

语法

WINSETUPAPI BOOL SetupSetDirectoryIdA(
  [in] HINF  InfHandle,
  [in] DWORD Id,
  [in] PCSTR Directory
);

参数

[in] InfHandle

加载的 INF 文件的句柄。

[in] Id

目录标识符 (DIRID) 用于关联。 此参数可以为 NULL。 此 DIRID 必须大于或等于 DIRID_USER。 如果此 DIRID 已存在关联,则会覆盖该关联。 如果 IDNULL,则忽略 Directory 参数,并删除当前用户定义的 DIRID 集。

[in] Directory

指向以 null 结尾的字符串的指针,该字符串指定要与 ID 关联的目录路径。此参数可以为 NULL。 如果 DirectoryNULL,则与 ID 关联的任何目录均未关联。 如果 ID 当前未与目录关联,则无错误结果。

返回值

如果函数成功,则返回值为非零值。

如果函数失败,则返回值为 0(零)。 要获得更多的错误信息,请调用 GetLastError。

注解

SetupSetDirectoryId 可在排队文件复制操作之前使用,以指定仅在运行时已知的目标位置。

设置目录标识符后,此函数将遍历所有追加的 INF 文件,如果其中任何一个文件具有未解析的字符串替换,该函数会尝试根据新的 DIRID 映射将字符串替换重新应用到这些文件。 因此,调用 SetupSetDirectoryId 后,某些 INF 值可能会更改。

DIRID_ABSOLUTE_16BIT不是 ID 的有效值,这可确保与 16 位设置兼容。

注意

setupapi.h 标头将 SetupSetDirectoryId 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 setupapi.h
Library Setupapi.lib
DLL Setupapi.dll

请参阅

函数

概述