GetSystemWindowsDirectoryW 函数 (sysinfoapi.h)

检索多用户系统上共享 Windows 目录的路径。

提供此函数主要用于兼容性。 应用程序应将代码存储在 Program Files 文件夹中,持久数据存储在用户配置文件的 Application Data 文件夹中。 有关详细信息,请参阅 ShGetFolderPath

语法

UINT GetSystemWindowsDirectoryW(
  [out] LPWSTR 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 目录的路径。 在单用户系统上, GetSystemWindowsDirectoryGetWindowsDirectory 相同。

注意

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

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 sysinfoapi.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

GetWindowsDirectory

SHGetFolderLocation

系统信息函数