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