Share via


GetSystemWindowsDirectoryA 函式 (sysinfoapi.h)

擷取多用戶系統上共用 Windows 目錄的路徑。

此函式主要是為了相容性而提供。 應用程式應該將程式代碼儲存在 Program Files 資料夾中,並將持續性資料儲存在使用者配置檔的 Application Data 資料夾中。 如需詳細資訊,請參閱 ShGetFolderPath

語法

UINT GetSystemWindowsDirectoryA(
  [out] LPSTR lpBuffer,
  [in]  UINT  uSize
);

參數

[out] lpBuffer

要接收路徑之緩衝區的指標。 除非 Windows 目錄是根目錄,否則此路徑不會以反斜杠結尾。 例如,如果 Windows 目錄在磁碟驅動器 C 上命名為 Windows,則此函式所擷取的 Windows 目錄路徑為 C:\Windows。 如果系統安裝在磁碟驅動器 C 的根目錄中,則擷取的路徑為 C:。

[in] uSize

TCHARlpBuffer 參數所指定的緩衝區大小上限。

傳回值

如果函式成功,則傳回值是複製到緩衝區的字串長度,在 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)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

GetWindowsDirectory

SHGetFolderLocation

系統資訊函式