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
ファイル コピー操作の動作を制御するフラグ。 これらのフラグは、次の値の組み合わせである場合があります。
価値 | 意味 |
---|---|
|
コピーが成功したら、ソース ファイルを削除します。 削除が失敗した場合、呼び出し元には通知されません。 |
|
コピー先のパスにあるファイルが上書きされる場合にのみ、ファイルをコピーします。 呼び出し元には通知されません。 |
|
コピーされる各ファイルを調べて、そのバージョン リソースがターゲット上の既存のコピーと同じバージョンか新しくないかを示しているかどうかを確認します。
バージョン チェック時に使用されるファイル バージョン情報は、バージョン関数によって入力された dwFileVersionMS および dwFileVersionLSVS_FIXEDFILEINFO 構造体のメンバーで指定されます。 いずれかのファイルにバージョン リソースがない場合、または同じバージョン情報がある場合、ソース ファイルは新しいと見なされます。 ソース ファイルがバージョン以上で等しくなく、CopyMsgHandler が指定されている場合、呼び出し元に通知され、コピーを取り消すことができます。 CopyMsgHandler が指定されていない場合、ファイルはコピーされません。 |
|
コピーされる各ファイルを調べて、そのバージョン リソースがターゲット上の既存のコピーよりも新しくないことを示しているかどうかを確認します。 ソース ファイルが新しいが、既存のターゲットとバージョンが等しくない場合は、ファイルがコピーされます。 |
|
ターゲット ファイルが存在するかどうかを確認し、存在する場合は、コピーを拒否する可能性がある呼び出し元に通知します。 CopyMsgHandler が指定されていない場合、ファイルは上書きされません。 |
|
ファイルを展開しないでください。 このフラグが設定されている場合、ターゲット ファイルにはソース名の圧縮されていない形式が指定されません (該当する場合)。 たとえば、f:\x86\cmd.ex_ を \\install\temp にコピーすると、\\install\temp\cmd.ex_ のターゲット ファイルになります。 SP_COPY_NODECOMP フラグが指定されていない場合、ファイルは展開され、ターゲットは \\install\temp\cmd.exeと呼ばれます。 DestinationName |
|
コピーされる各ファイルを調べて、その言語がターゲット上の既存のファイルの言語と異なるかどうかを確認します。 その場合、CopyMsgHandler |
|
SourceFile は完全なソース パスです。 INF ファイルの SourceDisksNames セクションで検索しないでください。 |
|
SourcePathRoot |
|
ターゲットが存在する場合は、使用中と同様に動作し、次のシステム再起動時にコピーするファイルをキューに入れます。 |
|
コピー操作中にファイルが使用中であった場合は、システムを再起動する必要があることをユーザーに警告します。 |
|
ファイルをスキップするオプションをユーザーに与えないでください。 |
|
ターゲット ファイルが存在するかどうかを確認します。存在する場合は、ファイルが上書きされません。 呼び出し元には通知されません。 |
|
コピーされる各ファイルを調べて、そのバージョン リソース (またはイメージ以外のファイルのタイム スタンプ) が、ターゲット上の既存のコピーよりも新しくないかどうかを確認します。 コピーされるファイルが新しくない場合、ファイルはコピーされません。 呼び出し元には通知されません。 |
|
ユーザーがファイルをスキップしようとすると、ファイルをスキップするとインストールに影響する可能性があることを警告します。 (システム クリティカルなファイルに使用されます)。 |
LayoutInf
ソース情報の取得に使用する INF を処理します。
SecurityDescriptor
ファイルに適用する ACL を指定するオプションのセキュリティ記述子文字列。
備考
手記
setupapi.h ヘッダーは、unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとしてSP_FILE_COPY_PARAMSを定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ヘッダー | setupapi.h |