SHCreateDirectoryExA 函式 (shlobj_core.h)

[此函式可透過 Windows XP Service Pack 2 (SP2) 和 Windows Server 2003 取得。 後續版本的 Windows 中可能會變更或無法使用。

使用選擇性的安全性屬性建立新的檔案系統資料夾。

語法

int SHCreateDirectoryExA(
  [in, optional] HWND                      hwnd,
  [in]           LPCSTR                    pszPath,
  [in, optional] const SECURITY_ATTRIBUTES *psa
);

參數

[in, optional] hwnd

類型: HWND

父視窗的控制代碼。 如果未顯示任何使用者介面,此參數可以設定為 NULL

[in] pszPath

類型: LPCTSTR

指定目錄完整路徑之 Null 終止字串的指標。 此字串的長度上限為 248 個字元,包括終止的 Null 字元。

[in, optional] psa

類型: const SECURITY_ATTRIBUTES*

具有目錄安全性屬性 之SECURITY_ATTRIBUTES 結構的指標。 如果不需要設定任何安全性屬性,請將此參數設定為 NULL

傳回值

類型: int

如果成功 則傳回ERROR_SUCCESS。 如果作業失敗,可以傳回其他錯誤碼,包括此處所列的錯誤碼。 如需未特別列出的值,請參閱 系統錯誤碼

傳回碼 Description
ERROR_BAD_PATHNAME
pszPath 參數已設定為相對路徑。
ERROR_FILENAME_EXCED_RANGE
pszPath 指向的路徑太長。
ERROR_PATH_NOT_FOUND
系統找不到 pszPath 指向的路徑。 路徑可能包含無效的專案。
ERROR_FILE_EXISTS
目錄存在。
ERROR_ALREADY_EXISTS
目錄存在。
ERROR_CANCELLED
使用者已取消作業。

備註

此函式會建立文件系統資料夾,其完整路徑是由 pszPath 提供。 如果一或多個中繼資料夾不存在,也會建立它們。 SHCreateDirectoryEx 也會驗證檔案是否可見。 如果看不到它們,請預期下列其中一項:

  • 如果 hwnd 設定為有效的視窗句柄,則會顯示消息框,警告使用者可能無法存取檔案。 如果使用者選擇不繼續,函式會 傳回ERROR_CANCELLED
  • 如果 hwnd 設定為 NULL,則不會顯示任何使用者介面,且函式會 傳回ERROR_CANCELLED

注意

shlobj_core.h 標頭會將SHCreateDirectoryEx定義為別名,根據UNICODE預處理器常數的定義,自動選取此函式的ANSI或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 Professional、Windows XP [僅限桌面應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 shlobj_core.h (包含 Shlobj.h、Shlobj_core.h)
程式庫 Shell32.lib
Dll Shell32.dll (5.0 版或更新版本)

另請參閱

SHCreateDirectory