GetSystemWindowsDirectoryA 函数 (sysinfoapi.h)
检索多用户系统上共享 Windows 目录的路径。
提供此函数主要用于兼容性。 应用程序应将代码存储在“程序文件”文件夹中,并将持久数据存储在用户配置文件的“应用程序数据”文件夹中。 有关详细信息,请参阅 ShGetFolderPath。
语法
UINT GetSystemWindowsDirectoryA(
[out] LPSTR lpBuffer,
[in] UINT uSize
);
参数
[out] lpBuffer
指向要接收路径的缓冲区的指针。 除非 Windows 目录是根目录,否则此路径不会以反斜杠结尾。 例如,如果 Windows 目录在驱动器 C 上名为 Windows,则此函数检索到的 Windows 目录的路径为 C:\Windows。 如果系统安装在驱动器 C 的根目录中,则检索的路径为 C:。
[in] uSize
lpBuffer 参数指定的缓冲区的最大大小(以 TCHAR 为单位)。
返回值
如果函数成功,则返回值是复制到缓冲区的字符串的长度(以 TCHAR 为单位),不包括终止 null 字符。
如果长度大于缓冲区的大小,则返回值是保存路径所需的缓冲区的大小。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
在运行终端服务的系统上,每个用户都有一个唯一的 Windows 目录。 系统 Windows 目录由所有用户共享,因此应用程序应在其中存储适用于所有用户的初始化和帮助文件。
使用终端服务, GetSystemWindowsDirectory 函数检索系统 Windows 目录的路径,而 GetWindowsDirectory 函数检索每个用户专用的 Windows 目录的路径。 在单用户系统上, GetSystemWindowsDirectory 与 GetWindowsDirectory 相同。
注意
sysinfoapi.h 标头将 GetSystemWindowsDirectory 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | sysinfoapi.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |