共用方式為


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 字串,指定所需的檔名(僅限檔名部分)。 如果使用者按下 [瀏覽] 按鈕 ,則會顯示檔名。 此例程會使用其壓縮格式名稱來尋找檔案;因此,您可以傳遞 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-terminated 字串。 null終止字串不應超過目的地緩衝區的大小。 您可以呼叫函式一次以取得所需的緩衝區大小、配置必要的記憶體,然後第二次呼叫函式來擷取數據。 使用這項技術,您可以避免因為緩衝區大小不足而發生錯誤。 請參閱一節。

[in] PathBufferSize

PathBuffer所指向的緩衝區大小,以字元為單位。 它至少應該MAX_PATH長。 這包括 null 終止符。

[in, out] PathRequiredSize

變數的選擇性指標,會以字元為單位接收 PathBuffer的必要大小。 這包括 null 終止符。

傳回值

函式會傳回下列其中一個值。

若要取得擴充的錯誤資訊,請呼叫 GetLastError

言論

如果使用 PathBuffer 呼叫此函式,NULLPathBufferSize 為零,則函式會將所需的緩衝區大小放入 PathRequiredSize 所指向的變數。 如果函式成功,則傳回值會NO_ERROR。 否則,傳回值是傳回值一節中所述的其中一個值。

注意

setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupPromptForDisk 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 setupapi.h
連結庫 Setupapi.lib
DLL Setupapi.dll

另請參閱

函式

概觀

SetupCopyError

SetupDeleteError

SetupRenameError