次の方法で共有


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

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

説明
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
ユーザーがファイルをスキップしようとすると、ファイルをスキップするとインストールに影響する可能性があることを警告します。 (システム クリティカルなファイルに使用されます)。

LayoutInf

ソース情報を取得するために使用する INF を処理します。

SecurityDescriptor

ファイルに適用する ACL を指定するオプションのセキュリティ記述子文字列。

解説

注意

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

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header setupapi.h

関連項目

概要

構造体