共用方式為


SetupPromptForDiskW 函式 (setupapi.h)

[此函式可用於需求一節中所述的作業系統。 它在後續版本中可能會變更或無法使用。 安裝程式API 不應再用於安裝應用程式。 請改用 Windows Installer 來開發應用程式安裝程式。 SetupAPI 會繼續用於安裝設備磁碟機。]

SetupPromptForDisk函式會顯示對話方塊,提示使用者輸入磁片。

語法

WINSETUPAPI UINT SetupPromptForDiskW(
  [in]      HWND   hwndParent,
  [in]      PCWSTR DialogTitle,
  [in]      PCWSTR DiskName,
  [in]      PCWSTR PathToSource,
  [in]      PCWSTR FileSought,
  [in]      PCWSTR TagFile,
  [in]      DWORD  DiskPromptStyle,
  [in, out] PWSTR  PathBuffer,
  [in]      DWORD  PathBufferSize,
  [in, out] PDWORD PathRequiredSize
);

參數

[in] hwndParent

這個對話方塊的父視窗控制碼。

[in] DialogTitle

指定對話方塊標題之 Null終止字串的選擇性指標。 如果此參數為 Null,則會使用當地語系化) 的 「」%s--Files Needed (「」 預設值。 「%s」 會取代為從父視窗擷取的文字。 如果未從父視窗擷取任何文字,標題為「需要檔案」。

[in] DiskName

指定要插入之磁片名稱的 Null終止字串選擇性指標。 如果此參數為 Null,則會使用預設的 「 (未知) 」 (當地語系化) 。

[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

備註

如果使用NullPathBuffer 和 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