SHPathPrepareForWriteA 函式 (shlobj_core.h)
檢查路徑是否存在。 這包括重新掛接對應的網路驅動器機、提示重新插入可退出媒體、建立路徑、提示媒體格式化,以及視需要提供適當的使用者介面。 不會檢查媒體的讀取/寫入許可權。
語法
SHSTDAPI SHPathPrepareForWriteA(
[in, optional] HWND hwnd,
[in, optional] IUnknown *punkEnableModless,
[in] LPCSTR pszPath,
DWORD dwFlags
);
參數
[in, optional] hwnd
類型:HWND
視窗的句柄,指定要用於必須建立之任何使用者介面視窗的父視窗。 如果設定為 NULL,則不會建立使用者介面視窗。
[in, optional] punkEnableModless
類型:IUnknown*
[in] pszPath
類型:LPCTSTR
長度上限之 null 終止字串的指標MAX_PATH,指定要驗證為有效的寫入路徑。 這可以是 UNC 或檔案磁碟驅動器路徑。
dwFlags
類型:DWORD
決定行為選項的旗標。 此參數可以是下列值的組合。
SHPPFW_NONE
請勿建立新的目錄。
SHPPFW_DEFAULT
違約。 若需要建立目錄,請勿提示使用者。 這與 SHPPFW_DIRCREATE相同。 請勿使用 SHPPFW_ASKDIRCREATE傳遞。
SHPPFW_DIRCREATE
建立目錄而不提示使用者。 請勿使用 SHPPFW_ASKDIRCREATE傳遞。
SHPPFW_ASKDIRCREATE
在建立目錄之前提示使用者。 請勿使用 SHPPFW_DIRCREATE傳遞。
SHPPFW_IGNOREFILENAME
pszPath
SHPPFW_NOWRITECHECK
目前未實作。
SHPPFW_MEDIACHECKONLY
Windows XP 或更新版本。 隱藏 [無法存取] 錯誤消息框,此方塊會在發生使用者取消失敗時顯示,而且 hwnd 不會 NULL。
傳回值
類型:HRESULT
如果路徑可用,則傳回S_OK,否則傳回錯誤碼。 請注意,S_OK的傳回值並不表示媒體可寫入;它只是表示路徑可供使用。
言論
此函式的主要用途是讓程式在使用它之前檢查路徑,並顯示必要的使用者介面來提示使用者。 例如,如果磁碟驅動器 A: 中的磁碟遺失,則會顯示提示使用者插入磁碟的視窗。
注意
shlobj_core.h 標頭會根據 UNICODE 預處理器常數的定義,將 SHPathPrepareForWrite 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | shlobj_core.h (包括 Shlobj.h, Shlobj_core.h) |
連結庫 | Shell32.lib |
DLL | Shell32.dll 版 (5.0 版或更新版本) |