共用方式為


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*

IUnknown 介面的指標,指定實作 EnableModeless 方法的 IOleInPlaceActiveObject 物件

[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 的最後一個專案是檔名,因此請忽略。 例如,如果 pszPath=“C:\MyDir\MyFile.doc”,則只會使用 “C:\MyDir”。 如果 pszPath=“C:\MyFirDir\MySecDir”,則只會使用 “C:\MyFirDir”。

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 版或更新版本)