SetupQueueDefaultCopyA 関数 (setupapi.h)

[この機能は、「要件」セクションに示されているオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、アプリケーション インストーラーを開発するために Windows インストーラーを使用します。 SetupAPI は、デバイス ドライバーのインストールに引き続き使用されます。]

SetupQueueDefaultCopy 関数は、INF ファイルで指定された既定のソース メディアと宛先を使用して、コピー用のセットアップ ファイル キューに 1 つのファイルを追加します。

構文

WINSETUPAPI BOOL SetupQueueDefaultCopyA(
  [in] HSPFILEQ QueueHandle,
  [in] HINF     InfHandle,
  [in] PCSTR    SourceRootPath,
  [in] PCSTR    SourceFilename,
  [in] PCSTR    TargetFilename,
  [in] DWORD    CopyStyle
);

パラメーター

[in] QueueHandle

SetupOpenFileQueue によって返されるセットアップ ファイル キューを処理します。

[in] InfHandle

SourceDisksFiles セクションと SourceDisksNames セクションを含む、開いている INF ファイル処理します。 ユーザーのシステムにプラットフォーム固有のセクション ( SourceDisksNames.x86SourceDisksFiles.x86 など) が存在する場合は、プラットフォーム固有のセクションが使用されます。

[in] SourceRootPath

このコピーのソースのルート ディレクトリ (A: など) を指定する null で終わる文字列へのポインター。

[in] SourceFilename

コピーするファイルのファイル名を指定する null で終わる文字列へのポインター。

[in] TargetFilename

ターゲット ファイルのファイル名を指定する null で終わる文字列へのポインター。

[in] CopyStyle

ファイル コピー操作の動作を制御するフラグ。 これらのフラグは、次の値の組み合わせである場合があります。

SP_COPY_DELETESOURCE

コピーが正常に完了したら、ソース ファイルを削除します。 削除が失敗した場合、呼び出し元には通知されません。

SP_COPY_REPLACEONLY

コピー先のパスにあるファイルが上書きされる場合にのみ、ファイルをコピーします。

SP_COPY_NEWER_OR_SAME

コピーされる各ファイルを調べて、そのバージョン リソースが、ターゲット上の既存のコピーと同じか、新しくないかのどちらかであることを示しているかどうかを確認します。

バージョン チェック中に使用されるファイル バージョン情報は、バージョン関数によって入力された、VS_FIXEDFILEINFO構造体の dwFileVersionMS メンバーと dwFileVersionLS メンバーで指定されています。 いずれかのファイルにバージョン リソースがない場合、または同じバージョン情報がある場合、ソース ファイルは新しいと見なされます。

ソース ファイルがバージョン以降で等しくなく、 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 を指定すると、呼び出し元に通知が送信され、コピーを取り消すことができます。 CopyMsgHandler が指定されていない場合、ファイルはコピーされません。

SP_COPY_SOURCE_ABSOLUTE

SourceFile は完全なソース パスです。 INF ファイルの SourceDisksNames セクションで検索しないでください。

SP_COPY_SOURCEPATH_ABSOLUTE

SourcePathRoot は、ソース ファイルの完全なパス部分です。 ファイルが配置されているソース メディアの INF ファイルの SourceDisksNames セクションで指定された相対ソースを無視します。 SP_COPY_SOURCE_ABSOLUTEが指定されている場合、このフラグは無視されます。

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 ディレクトリが存在しない場合、ファイルのコピーは失敗します。

この関数で使用される既定の変換先は、INF ファイルの DestinationDirs セクションの DefaultDestDir キーによって指定されます。

この関数には、Windows INF ファイルが必要です。 一部の古い INF ファイル形式はサポートされていない場合があります。

注意

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

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー setupapi.h
Library Setupapi.lib
[DLL] Setupapi.dll

関連項目

関数

概要

SetupQueueCopy

SetupQueueCopySection