SetupCopyError

機能
ファイルのコピーにエラーが発生したことを
ユーザーへ通知するためのダイアログボックスを生成する
Declare Function SetupCopyError Lib "setupapi.dll" Alias "SetupCopyErrorA" _
(ByVal hwndParent As Long, ByVal DialogTitle As String , _
Byval DiskName As String, ByVal PathToSource As String, _
ByVal SourceFile As String, ByVal TargetPathFile As String, _
ByVal Win32ErrorCode As Long, ByVal Style As Long, ByRef PathBuffer As String, _
ByVal PathBufferSize As Long, ByRef PathRequiredSize As Long) As Long
Declare Function SetupCopyError Lib "setupapi.dll" Alias "SetupCopyErrorA" _
(ByVal hwndParent As Integer, ByVal DialogTitle As String , _
Byval DiskName As String, ByVal PathToSource As String, _
ByVal SourceFile As String, ByVal TargetPathFile As String, _
ByVal Win32ErrorCode As Integer, ByVal Style As Integer, ByRef PathBuffer As String, _
ByVal PathBufferSize As Integer, ByRef PathRequiredSize As Integer) As Integer

UINT SetupCopyError(
HWND hwndParent,
PCTSTR DialogTitle,
PCTSTR DiskName,
PCTSTR PathToSource,
PCTSTR SourceFile,
PCTSTR TargetPathFile,
UINT Win32ErrorCode,
DWORD Style,
PTSTR PathBuffer,
DWORD PathBufferSize,
PDWORD PathRequiredSize
);
引数
hwndParent

通知ダイアログボックスの親ウィンドウのハンドル
DialogTitle
ダイアログボックスのタイトル
VbNullStringの場合、"CopyError"になる
DiskName
挿入するべきディスクの名前
VbNullStringの場合、"(Unlnown)"になる
PathToSource
操作エラーが発生したソースファイルのパス
SourceFile
操作が失敗したときのファイル名
ユーザーが[Details]または[Browse]ボタンをクリックすると
このファイル名が表示される。
この関数は、圧縮形式のファイル名を使って
このファイルを検索する。そのために、開発者は
Cmd.exeを指定するだけで十分であり、
ソースメディアでこのファイルが
cmd.ex_にっているかは気にする必要はない
TargetPathFile
ファイル名の変更やコピー操作のために、インストール先の完全パス
VbNullStringの場合、"(Unlnown)"になる
Win32ErrorCode
ファイル操作の際に発生したWin32のエラーコード
Style
ダイアログボックスの標準形式と動作を指定する定数の組み合わせ
PathBuffer
(戻り値)ダイアログボックスを使って指定したパスを取得するバッファ
PathBufferSize
PathBufferのバイト数
PathRequiredSize
(戻り値)必要なバッファサイズを返す
戻り値
戻り値の定数の組み合わせ
備考
PathBuffer=VbNullString,PathBufferSize=0のとき、PathRequiredSizeに
必要なバイト数が戻る。この操作が成功した場合のみNoError(=0)を返す。
それ以外は戻り値の定数の組み合わせ。
Styleの定数

IDF_NOBROWSE = &H1                           [Browse]を表示しない
IDF_NOSKIP = &H2                             [Skip File]を表示しない
IDF_NODETAILS = &H4                          [Details](詳細)を表示しない
                                              このフラグを指定したとき、
                                              TargetFilePathとWin32ErrorCodeは無視
IDF_NOCOMPRESSED = &H8                       ソースファイルの圧縮版の存在はチェックしない
IDF_OEMDISK = &H80000000                     操作のソースはハードウェアメーカが提供した
                                              ディスク(フロッピーやCDROM)
IDF_NOBEEP = &H200                           ビープ音を発生しない
IDF_NOFOREGROUND = &H400                     モータルウィンドウとして表示しない
IDF_WARMOFSKIP = &H800                       このファイルをスキップすると
                                              インストールに影響が出ることを警告する
戻り値の定数

DPROMPT_SUCCESS = 0                          要求されたディスクとファイルは存在し、アクセス可能
                                              PathBufferが指定されているとき、保持される
DPROMPT_CANCEL = 1                           ユーザーが[Cancel]を押した
DPROMPT_SKIPFILE = 2                         ユーザーが[Skip File]を押した
DPROMPT_BUFFERTOOSMALL = 3                   バッファサイズが小さい
DPROMPT_OUTOFMEMORY = 4                      メモリ不足