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“” (localized)。 “%s” 會取代為從父視窗擷取的文字。 如果未從父視窗擷取任何文字,標題會是「需要檔案」。
[in] DiskName
null 的選擇性指標終止字串,指定要插入的磁碟名稱。 如果此參數 NULL,則會使用預設 “(Unknown)” (localized) 。
[in] PathToSource
null 的選擇性指標終止字串,指定檔案預期位置的路徑部分,例如 F:\x86。 如果未指定,則會使用 SetupPromptForDisk 最近找到檔案的路徑。 如果該清單是空的,則會使用系統預設值。
[in] FileSought
null 的指標-terminated 字串,指定所需的檔名(僅限檔名部分)。 如果使用者按下 [瀏覽] 按鈕
[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-terminated 字串。 null終止字串不應超過目的地緩衝區的大小。 您可以呼叫函式一次以取得所需的緩衝區大小、配置必要的記憶體,然後第二次呼叫函式來擷取數據。 使用這項技術,您可以避免因為緩衝區大小不足而發生錯誤。 請參閱一節。
[in] PathBufferSize
PathBuffer所指向的緩衝區大小,以字元為單位。 它至少應該MAX_PATH長。 這包括 null 終止符。
[in, out] PathRequiredSize
變數的選擇性指標,會以字元為單位接收 PathBuffer的必要大小。 這包括 null 終止符。
傳回值
函式會傳回下列其中一個值。
若要取得擴充的錯誤資訊,請呼叫 GetLastError。
言論
如果使用 PathBuffer 呼叫此函式,NULL 和 PathBufferSize 為零,則函式會將所需的緩衝區大小放入 PathRequiredSize 所指向的變數。 如果函式成功,則傳回值會NO_ERROR。 否則,傳回值是傳回值一節中所述的其中一個值。
注意
setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupPromptForDisk 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | setupapi.h |
連結庫 | Setupapi.lib |
DLL | Setupapi.dll |