SP_FILE_COPY_PARAMS_A 構造体 (setupapi.h)
SP_FILE_COPY_PARAMS構造体では、1 つのファイル コピー操作について説明します。
構文
typedef struct _SP_FILE_COPY_PARAMS_A {
DWORD cbSize;
HSPFILEQ QueueHandle;
PCSTR SourceRootPath;
PCSTR SourcePath;
PCSTR SourceFilename;
PCSTR SourceDescription;
PCSTR SourceTagfile;
PCSTR TargetDirectory;
PCSTR TargetFilename;
DWORD CopyStyle;
HINF LayoutInf;
PCSTR SecurityDescriptor;
} SP_FILE_COPY_PARAMS_A, *PSP_FILE_COPY_PARAMS_A;
メンバー
cbSize
構造体のサイズ (バイト単位)。 の値に設定します。 sizeof(SP_FILE_COPY_PARAMS)
QueueHandle
SetupOpenFileQueue によって返されるセットアップ ファイル キューを処理します。
SourceRootPath
このコピーのソースのルートへの省略可能なポインター (A: など)。
SourcePath
ファイルが見つかる SourceRootPath に対する相対パスへの省略可能なポインター。
SourceFilename
コピーするファイルのファイル名の一部。
SourceDescription
ディスク プロンプト中に使用するソース メディアの説明へのオプションのポインター。
SourceTagfile
SourceRootPath でのプレゼンスがソース メディアの存在を示すタグ ファイルへの省略可能なポインター。 指定しない場合、ファイル自体は、必要に応じてタグ ファイルとして使用されます。
TargetDirectory
ファイルをコピーするディレクトリ。
TargetFilename
ターゲット ファイルの名前への省略可能なポインター。 指定しない場合、ターゲット ファイルの名前はソース ファイルと同じになります。
CopyStyle
ファイル コピー操作の動作を制御するフラグ。 これらのフラグは、次の値の組み合わせである場合があります。
値 | 説明 |
---|---|
|
コピーが正常に完了したら、ソース ファイルを削除します。 削除が失敗した場合、呼び出し元には通知されません。 |
|
コピー先のパスにあるファイルが上書きされる場合にのみ、ファイルをコピーします。 呼び出し元には通知されません。 |
|
コピーされる各ファイルを調べて、そのバージョン リソースが、ターゲット上の既存のコピーと同じバージョンか新しくないかのどちらかであることを示しているかどうかを確認します。
バージョン チェック時に使用されるファイル バージョン情報は、バージョン関数で入力されたVS_FIXEDFILEINFO構造体の dwFileVersionMS メンバーと dwFileVersionLS メンバーで指定されています。 いずれかのファイルにバージョン リソースがない場合、または同じバージョン情報がある場合、ソース ファイルは新しいと見なされます。 ソース ファイルがバージョン以降で等しくなく、 CopyMsgHandler が指定されている場合、呼び出し元に通知が送信され、コピーが取り消される可能性があります。 CopyMsgHandler が指定されていない場合、ファイルはコピーされません。 |
|
コピーされる各ファイルを調べて、そのバージョン リソースがターゲット上の既存のコピーよりも新しくないことを示しているかどうかを確認します。 ソース ファイルが新しいが、既存のターゲットとバージョンが等しくない場合は、ファイルがコピーされます。 |
|
ターゲット ファイルが存在するかどうかを確認し、存在する場合は、コピーを拒否する可能性がある呼び出し元に通知します。 CopyMsgHandler が指定されていない場合、ファイルは上書きされません。 |
|
ファイルを展開しないでください。 このフラグが設定されている場合、ターゲット ファイルにはソース名の圧縮されていない形式が指定されません (該当する場合)。 たとえば、f:\x86\cmd.ex_ を \\install\temp にコピーすると、ターゲット ファイルは \\install\temp\cmd.ex_になります。 SP_COPY_NODECOMP フラグが指定されていない場合、ファイルは圧縮解除され、ターゲットは \\install\temp\cmd.exe 呼び出されます。 DestinationName のファイル名部分 (指定されている場合) は削除され、ソース ファイルのファイル名に置き換えられます。 SP_COPY_NODECOMPを指定すると、言語やバージョン情報を確認できません。 |
|
コピーされる各ファイルを調べて、その言語がターゲットに既に存在する既存のファイルの言語と異なるかどうかを確認します。 その場合、 CopyMsgHandler を指定すると、呼び出し元に通知され、コピーを取り消すことができます。 CopyMsgHandler が指定されていない場合、ファイルはコピーされません。 |
|
SourceFile は完全なソース パスです。 INF ファイルの SourceDisksNames セクションで検索しないでください。 |
|
SourcePathRoot は、ソース ファイルの完全なパス部分です。 ファイルが配置されているソース メディアの INF ファイルの SourceDisksNames セクションで指定された相対ソースを無視します。 SP_COPY_SOURCE_ABSOLUTEが指定されている場合、このフラグは無視されます。 |
|
ターゲットが存在する場合は、使用中のように動作し、次のシステム再起動時にコピーするファイルをキューに入れます。 |
|
コピー操作中にファイルが使用中だった場合は、システムを再起動する必要があることをユーザーに警告します。 |
|
ファイルをスキップするオプションをユーザーに与えないでください。 |
|
ターゲット ファイルが存在するかどうかを確認します。存在する場合は、ファイルは上書きされません。 呼び出し元には通知されません。 |
|
コピーされる各ファイルを調べて、そのバージョン リソース (またはイメージ以外のファイルのタイム スタンプ) が、ターゲット上の既存のコピーよりも新しくないことを示しているかどうかを確認します。 コピーするファイルが新しくない場合、ファイルはコピーされません。 呼び出し元には通知されません。 |
|
ユーザーがファイルをスキップしようとすると、ファイルをスキップするとインストールに影響する可能性があることを警告します。 (システム クリティカルなファイルに使用されます)。 |
LayoutInf
ソース情報を取得するために使用する INF を処理します。
SecurityDescriptor
ファイルに適用する ACL を指定するオプションのセキュリティ記述子文字列。
解説
注意
setupapi.h ヘッダーは、SP_FILE_COPY_PARAMSをエイリアスとして定義します。これは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | setupapi.h |