共用方式為


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

請參閱

函式

概觀

SetupCopyError

SetupDeleteError

SetupRenameError