次の方法で共有


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

ダイアログ タイトルを指定する -terminated 文字列null へのポインター (省略可能)。 このパラメーターが NULL場合、既定値の ""%s--Files Needed" (ローカライズ) が使用されます。 "%s" は、親ウィンドウから取得したテキストに置き換えられます。 親ウィンドウからテキストが取得されない場合、タイトルは "ファイルが必要です" になります。

[in] DiskName

挿入するディスクの名前を指定する -terminated 文字列null への省略可能なポインター。 このパラメーターが NULL場合、既定の "(Unknown)" (ローカライズ) が使用されます。

[in] PathToSource

null-terminated 文字列への省略可能なポインター。ファイルの予想される場所のパス部分 (F:\x86 など) を指定します。 指定しない場合は、SetupPromptForDisk ファイル 最後に配置されたパスが使用されます。 そのリストが空の場合は、システムの既定値が使用されます。

[in] FileSought

必要なファイルの名前を指定する -terminated 文字列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-terminated 文字列を使用する必要があります。 null-terminated 文字列は、宛先バッファーのサイズを超えないようにする必要があります。 関数を 1 回呼び出して、必要なバッファー サイズを取得し、必要なメモリを割り当ててから、もう一度関数を呼び出してデータを取得できます。 この手法を使用すると、バッファー サイズが不十分なため、エラーを回避できます。 「解説」セクションを参照してください。

[in] PathBufferSize

PathBuffer指すバッファーのサイズ (文字数)。 少なくともMAX_PATH長くする必要があります。 これには、null ターミネータが含まれます。

[in, out] PathRequiredSize

PathBufferに必要なサイズ 受け取る変数への省略可能なポインター (文字単位)。 これには、null ターミネータが含まれます。

戻り値

この関数は、次のいずれかの値を返します。

拡張エラー情報を取得するには、GetLastError呼び出します。

備考

この関数が、PathBufferNULLPathBufferSize が 0 の場合、指定したデータを保持するために必要なバッファー サイズ PathRequiredSizeによって指される変数に格納されます。 この関数が成功した場合、戻り値はNO_ERROR。 それ以外の場合、戻り値は「戻り値」セクションで説明されている値のいずれかになります。

手記

setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupPromptForDisk を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー setupapi.h
ライブラリ Setupapi.lib
DLL Setupapi.dll

関連項目

Functions

の概要

SetupCopyError

SetupDeleteError

SetupRenameError