共用方式為


SHCreateDirectoryExW 函式 (shlobj_core.h)

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

建立具有選擇性安全性屬性的新文件系統資料夾。

語法

int SHCreateDirectoryExW(
  [in, optional] HWND                      hwnd,
  [in]           LPCWSTR                   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。 如果作業失敗,可以傳回其他錯誤碼,包括此處所列的錯誤碼。 如需未特別欄出的值,請參閱 系統錯誤碼

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

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional、Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 shlobj_core.h (包括 Shlobj.h, Shlobj_core.h)
連結庫 Shell32.lib
DLL Shell32.dll 版 (5.0 版或更新版本)

另請參閱

SHCreateDirectory