SetupQueueCopyA 関数 (setupapi.h)
[この機能は、[要件] セクションに示されているオペレーティング システムで使用できます。 以降のバージョンでは、変更または使用できない場合があります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、Windows インストーラーを使用してアプリケーション インストーラーを開発します。 SetupAPI は、デバイス ドライバーのインストールに引き続き使用されます。
SetupQueueCopy 関数は、セットアップ ファイル キューに 1 つのファイル コピー操作を追加します。
構文
WINSETUPAPI BOOL SetupQueueCopyA(
[in] HSPFILEQ QueueHandle,
[in] PCSTR SourceRootPath,
[in] PCSTR SourcePath,
[in] PCSTR SourceFilename,
[in] PCSTR SourceDescription,
[in] PCSTR SourceTagfile,
[in] PCSTR TargetDirectory,
[in] PCSTR TargetFilename,
[in] DWORD CopyStyle
);
パラメーター
[in] QueueHandle
SetupOpenFileQueueによって返されるセットアップ ファイル キュー
[in] SourceRootPath
nullA: など、このコピーのソースのルートを指定する -terminated 文字列へのポインター。
[in] SourcePath
null-terminated 文字列へのポインター。ファイルが見つかる場所 SourceRootPath に対する相対パスを指定します。 このパラメーターは NULL
[in] SourceFilename
コピーするファイルのファイル名部分を指定する null-terminated 文字列へのポインター。
[in] SourceDescription
ディスク プロンプト中に使用するソース メディアの説明を指定する、null-terminated 文字列へのポインター。 このパラメーターは NULL
[in] SourceTagfile
sourceRootPath の存在がソース メディアの存在を示すタグ ファイル
[in] TargetDirectory
nullファイルをコピーするディレクトリを指定する -terminated 文字列へのポインター。
[in] TargetFilename
ターゲット ファイルの名前を指定する -terminated 文字列
[in] CopyStyle
ファイル コピー操作の動作を指定します。 このパラメーターは、次の値の組み合わせにすることができます。
SP_COPY_DELETESOURCE
コピーが成功したら、ソース ファイルを削除します。 削除が失敗した場合、呼び出し元には通知されません。
SP_COPY_REPLACEONLY
コピー先のパスにあるファイルが上書きされる場合にのみ、ファイルをコピーします。 呼び出し元には通知されません。
SP_COPY_NEWER_OR SAME
コピーされる各ファイルを調べて、そのバージョン リソースがターゲット上の既存のコピーと同じバージョンか新しくないかを示しているかどうかを確認します。
バージョン チェック時に使用されるファイル バージョン情報は、バージョン関数によって入力された dwFileVersionMS および dwFileVersionLSVS_FIXEDFILEINFO 構造体のメンバーで指定されます。 いずれかのファイルにバージョン リソースがない場合、または同じバージョン情報がある場合、ソース ファイルは新しいと見なされます。
ソース ファイルがバージョン以上で等しくなく、CopyMsgHandler が指定されている場合、呼び出し元に通知され、コピーを取り消すことができます。 CopyMsgHandler が指定されていない場合、ファイルはコピーされません。
SP_COPY_NEWER_ONLY
コピーされる各ファイルを調べて、そのバージョン リソースがターゲット上の既存のコピーよりも新しくないことを示しているかどうかを確認します。 ソース ファイルが新しいが、既存のターゲットとバージョンが等しくない場合は、ファイルがコピーされます。
SP_COPY_NOOVERWRITE
ターゲット ファイルが存在するかどうかを確認し、存在する場合は、コピーを拒否する可能性がある呼び出し元に通知します。 CopyMsgHandler が指定されていない場合、ファイルは上書きされません。
SP_COPY_NODECOMP
ファイルを展開しないでください。 このフラグが設定されている場合、ターゲット ファイルにはソース名の圧縮されていない形式が指定されません (該当する場合)。 たとえば、f:\x86\cmd.ex_ を \install\temp にコピーすると、ターゲット ファイル \install\temp\cmd.ex_ になります。 SP_COPY_NODECOMP フラグが指定されていない場合、ファイルは展開され、ターゲットは \install\temp\cmd.exe呼び出されます。 DestinationName のファイル名部分 (指定されている場合) は削除され、ソース ファイルのファイル名に置き換えられます。 SP_COPY_NODECOMPを指定すると、言語やバージョン情報を確認できません。
SP_COPY_LANGUAGEAWARE
コピーされる各ファイルを調べて、その言語がターゲット上の既存のファイルの言語と異なるかどうかを確認します。 その場合、CopyMsgHandler
SP_COPY_SOURCE_ABSOLUTE
SourceFile は完全なソース パスです。 INF ファイルの SourceDisksNames セクションで検索しないでください。
SP_COPY_SOURCEPATH_ABSOLUTE
SourcePathRoot
SP_COPY_FORCE_IN_USE
ターゲットが存在する場合は、使用中と同様に動作し、次のシステム再起動時にコピーするファイルをキューに入れます。
SP_COPY_IN_USE_NEEDS_REBOOT
コピー操作中にファイルが使用されていた場合は、システムを再起動する必要があることをユーザーに警告します。
SP_COPY_NOSKIP
ファイルをスキップするオプションをユーザーに与えないでください。
SP_COPY_FORCE_NOOVERWRITE
ターゲット ファイルが存在するかどうかを確認し、存在する場合はファイルが上書きされません。 呼び出し元には通知されません。
SP_COPY_FORCE_NEWER
コピーされる各ファイルを調べて、そのバージョン リソース (またはイメージ以外のファイルのタイム スタンプ) が、ターゲット上の既存のコピーよりも新しくないかどうかを確認します。 コピーされるファイルが新しくない場合、ファイルはコピーされません。 呼び出し元には通知されません。
SP_COPY_WARNIFSKIP
ユーザーがファイルをスキップしようとすると、ファイルをスキップするとインストールに影響する可能性があることを警告します。 (システム クリティカルなファイルに使用されます)。
戻り値
関数が成功した場合、戻り値は 0 以外の値になります。
関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError
備考
UNC ディレクトリがファイル コピー操作のターゲット ディレクトリとして指定されている場合は、キューがコミットされる前に UNC ディレクトリが存在することを確認する必要があります。 セットアップ関数は、UNC ディレクトリの存在を確認せず、作成しません。 ターゲット UNC ディレクトリが存在しない場合、ファイルのコピーは失敗します。
手記
setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupQueueCopy を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | setupapi.h |
ライブラリ | Setupapi.lib |
DLL | Setupapi.dll |
関連項目
SetupQueueCopySection の
SetupQueueDefaultCopy の
SetupQueueDelete の