SetupPromptForDiskA 関数 (setupapi.h)
[この機能は、「要件」セクションに示されているオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、アプリケーション インストーラーを開発するために Windows インストーラーを使用します。 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 の場合、タグファイルは disk1.tag で、ユーザーはプロンプト ダイアログ ボックスの編集コントロールに B:\x86 を入力すると、ルーチンは B:\disk1.tag を探して続行するかどうかを決定します。 タグ ファイルが見つからない場合、関数は PathToSource を使用してタグファイルを検索します。
タグ ファイルが指定されていない場合、リムーバブル メディアは非リムーバブル メディアと同様に機能し 、FileSought は続行する前に検索されます。
[in] DiskPromptStyle
ダイアログ ボックスの動作を指定します。 このパラメーターには、次のフラグの組み合わせを指定できます。
IDF_CHECKFIRST
プロンプト ダイアログ ボックスを表示する前にファイル/ディスクを確認し、存在する場合はすぐにDPROMPT_SUCCESSを返します。
IDF_NOBEEP
ダイアログ ボックスが最初に表示されたときにユーザーの注意を引くためにビープ音が鳴らないようにします。
IDF_NOBROWSE
参照オプションを表示しません。
IDF_NOCOMPRESSED
ソース ファイルの圧縮バージョンにはチェックしないでください。
IDF_NODETAILS
詳細情報を表示しません。
IDF_NOFOREGROUND
ダイアログ ボックスがフォアグラウンド ウィンドウにならないようにします。
IDF_NOSKIP
スキップ オプションは表示しないでください。
IDF_OEMDISK
ハードウェアの製造元によって提供されるディスクの入力を求めるメッセージが表示されます。
IDF_WARNIFSKIP
ファイルをスキップするとインストールに影響する可能性があることをユーザーに警告します。
[in, out] PathBuffer
戻り時に、ダイアログ ボックスを通じてユーザーが指定した場所のパス (ファイル名なし) を受け取るバッファーへのオプションのポインター。 null で終わる文字列を使用する必要があります。 null で終わる文字列は、宛先バッファーのサイズを超えてはなりません。 関数を 1 回呼び出して、必要なバッファー サイズを取得し、必要なメモリを割り当ててから、2 回目に関数を呼び出してデータを取得できます。 この手法を使用すると、バッファー サイズが不十分なため、エラーを回避できます。 「解説」を参照してください。
[in] PathBufferSize
PathBuffer が指すバッファーのサイズ (文字単位)。 少なくともMAX_PATH長いはずです。 これには 、null ターミネータが含まれます。
[in, out] PathRequiredSize
PathBuffer に必要なサイズを文字で受け取る変数へのオプションのポインター。 これには 、null ターミネータが含まれます。
戻り値
関数は、次のいずれかの値を返します。
詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
この関数が Null の PathBuffer で呼び出され、PathBufferSize が 0 の場合、指定されたデータを保持するために必要なバッファー サイズが PathRequiredSize によって指される変数に格納されます。 こので関数が成功した場合、戻り値はNO_ERROR。 それ以外の場合、戻り値は「戻り値」セクションで説明されている値のいずれかです。
注意
setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupPromptForDisk を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | setupapi.h |
Library | Setupapi.lib |
[DLL] | Setupapi.dll |