SetupPromptForDiskA 函式 (setupapi.h)
[此函式可用於需求一節中所述的操作系統。 它在後續版本中可能會變更或無法使用。 安裝程式API不應再用於安裝應用程式。 請改用 Windows Installer 來開發應用程式安裝程式。 SetupAPI 會繼續用於安裝設備驅動器。]
SetupPromptForDisk 函式會顯示對話框,提示使用者輸入磁碟。
語法
WINSETUPAPI UINT SetupPromptForDiskA(
[in] HWND hwndParent,
[in] PCSTR DialogTitle,
[in] PCSTR DiskName,
[in] PCSTR PathToSource,
[in] PCSTR FileSought,
[in] PCSTR TagFile,
[in] DWORD DiskPromptStyle,
[in, out] PSTR PathBuffer,
[in] DWORD PathBufferSize,
[in, out] PDWORD PathRequiredSize
);
參數
[in] hwndParent
這個對話框的父視窗句柄。
[in] DialogTitle
指定對話框標題之 Null 終止字串的選擇性指標。 如果此參數為 NULL,則會使用當地語系化) 的 “”%s--Files Needed (“” 預設值。 “%s” 會取代為從父視窗擷取的文字。 如果未從父視窗擷取任何文字,標題會是「需要檔案」。
[in] DiskName
指定要插入之磁碟名稱之 Null 終止字串的選擇性指標。 如果此參數為 NULL,則會使用預設的 「 (Unknown) 」 (本地化) 。
[in] PathToSource
指定檔案預期位置路徑部分的 Null 終止字串選擇性指標,例如 F:\x86。 如果未指定,則會使用 SetupPromptForDisk 最近找到檔案的路徑。 如果該清單是空的,則會使用系統預設值。
[in] FileSought
以 Null 結尾的字串指標,指定只) 檔名部分所需的檔名 (。 如果使用者按兩下 [ 瀏覽 ] 按鈕,就會顯示檔名。 此例程會使用其壓縮格式名稱來尋找檔案;因此,您可以傳遞 cmd.exe,而不必擔心檔案實際存在於來源媒體上cmd.ex_。
[in] TagFile
指定標記檔案 (檔名部分的 Null 終止字串選擇性指標,只會) 識別特定卸除式媒體磁碟區是否存在。 如果目前選取的路徑會將檔案放在卸除式媒體上,而且指定了標記檔案, SetupPromptForDisk 會尋找磁碟驅動器根目錄的標記檔案,以判斷是否要繼續。
例如,如果 PathToSource 是 A:\x86,tagfile 是 disk1.tag,而使用者將 B:\x86 輸入提示對話框的編輯控件,則例程會尋找 B:\disk1.tag 來判斷是否要繼續。 如果找不到標記檔案,函式會使用 PathToSource尋找tagfile。
如果未指定標籤檔案,卸除式媒體的運作方式就像是非抽取式媒體,而且在繼續之前會尋找 FileSought 。
[in] DiskPromptStyle
指定對話框的行為。 此參數可以是下列旗標的組合。
IDF_CHECKFIRST
顯示提示對話方塊之前,請先檢查檔案/磁碟,如果有的話,請立即傳回DPROMPT_SUCCESS。
IDF_NOBEEP
防止對話框第一次出現時發出嗶聲,讓使用者注意到。
IDF_NOBROWSE
不要顯示瀏覽選項。
IDF_NOCOMPRESSED
請勿檢查原始程式檔的壓縮版本。
IDF_NODETAILS
不要顯示詳細資訊。
IDF_NOFOREGROUND
防止對話框成為前景視窗。
IDF_NOSKIP
不要顯示skip選項。
IDF_OEMDISK
提示硬體製造商提供的磁碟。
IDF_WARNIFSKIP
警告使用者略過檔案可能會影響安裝。
[in, out] PathBuffer
選擇性的緩衝區指標,在傳回時,會透過對話框接收使用者所指定位置 (沒有檔名) 的路徑。 您應該使用 以 Null 結尾的字串。 以 Null 結束的字串不應超過目的地緩衝區的大小。 您可以呼叫函式一次以取得所需的緩衝區大小、配置必要的記憶體,然後再次呼叫函式以擷取數據。 使用這項技術,您可以避免因為緩衝區大小不足而發生錯誤。 請參閱<備註>一節。
[in] PathBufferSize
PathBuffer 所指向的緩衝區大小,以字元為單位。 它應該至少MAX_PATH長。 這包括 Null 終止符。
[in, out] PathRequiredSize
可接收 PathBuffer所需大小之變數的選擇性指標,以字元為單位。 這包括 Null 終止符。
傳回值
函式會傳回下列其中一個值。
若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
如果使用 NULL的 PathBuffer 和 PathBufferSize 為零呼叫此函式,此函式會將保留指定數據的緩衝區大小放入 PathRequiredSize 所指向的變數中。 如果函式在此中成功,傳回值會NO_ERROR。 否則,傳回值是傳回值一節中所述的其中一個值。
注意
setupapi.h 標頭會將 SetupPromptForDisk 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | setupapi.h |
程式庫 | Setupapi.lib |
Dll | Setupapi.dll |