次の方法で共有


SetupInstallFilesFromInfSectionA 関数 (setupapi.h)

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

SetupInstallFilesFromInfSection 関数は、[ファイルのコピー]、[ファイルの削除]、[ファイルの名前の変更] セクションで指定されているインストールのすべてのファイルをキューに入れます。

ファイルが変更された場合、この関数の呼び出し元には、ターゲット ディレクトリに書き込む権限が必要です。

構文

WINSETUPAPI BOOL SetupInstallFilesFromInfSectionA(
  [in] HINF     InfHandle,
  [in] HINF     LayoutInfHandle,
  [in] HSPFILEQ FileQueue,
  [in] PCSTR    SectionName,
  [in] PCSTR    SourceRootPath,
  [in] UINT     CopyFlags
);

パラメーター

[in] InfHandle

インストールするセクションを含む INF ファイルのハンドル。

[in] LayoutInfHandle

SourceDisksFiles セクションと SourceDisksNames セクションを含む INF ファイルへのハンドルへの省略可能なポインター。

LayoutInfHandle が指定されていない場合は、InfHandle の SourceDisksFiles セクションと SourceDisksNames セクション 使用されます。

[in] FileQueue

インストール操作を追加するキューへのハンドル。

[in] SectionName

InfHandle パラメーターの Install セクションの名前。このパラメーターには、インストールするファイルを含むファイルのコピー、ファイルの削除、およびファイル名の変更のセクションが一覧表示されます。

null-terminated 文字列を使用します。

[in] SourceRootPath

コピーするソース ファイルへのルート パスへの省略可能なポインター (A:\ や \pegasus\win\install など)。

null-terminated 文字列を使用します。

[in] CopyFlags

ファイル コピー操作の動作を制御するフラグのセットへの省略可能なポインター。

フラグには、次の値の組み合わせを指定できます。

SP_COPY_DELETESOURCE

コピー タスクが成功したときにソース ファイルを削除します。

削除タスクが失敗した場合、呼び出し元には通知されません。

SP_COPY_REPLACEONLY

コピー先のパスにあるファイルを上書きするためにのみ、ファイルをコピーします。

SP_COPY_NEWER_OR_SAME

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

ソース ファイルが新しいバージョンまたは等しいバージョンでない場合、関数はコピーをキャンセルできるユーザーに通知します。

バージョン チェック中に使用されるファイル バージョン情報は、win32 バージョン関数で入力されているように、dwFileVersionMS および dwFileVersionLSVS_FIXEDFILEINFO 構造体のメンバーで指定されます。

いずれかのファイルにバージョン リソースがない場合、または同じバージョン情報がある場合、ソース ファイルは新しいと見なされます。

SP_COPY_NEWER_ONLY

コピーされる各ファイルを調べて、そのバージョン リソースがターゲット上の既存のコピーよりも新しくないことを示しているかどうかを判断します。

ソース ファイルが新しいが、既存のターゲットとバージョンが等しくない場合は、ファイルがコピーされます。

SP_COPY_NOOVERWRITE

ターゲット ファイルが存在するかどうかを確認します。

ターゲット ファイルが存在する場合、関数はコピーをキャンセルできるユーザーを呼び出し元に通知します。

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

コピーされる各ファイルを調べて、言語がターゲットに既に存在する既存のファイルの言語と異なるかどうかを判断します。

言語が異なる場合、関数はコピー タスクをキャンセルできるユーザーに呼び出し元に通知します。

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呼び出します。

備考

SetupInstallFilesFromInfSection を複数回呼び出して、複数の INF セクションで指定されたファイルをキューに格納できます。 キューが正常にコミットされ、ファイルのコピー、名前の変更、削除が完了したら、setupInstallFromInfSection を呼び出して、レジストリと INI のインストール操作を実行できます。

UNC ディレクトリがファイル インストールのターゲット ディレクトリとして指定されている場合は、SetupInstallFilesFromInfSection呼び出す前に、UNC ディレクトリが存在することを確認する必要があります。 セットアップ関数は、ディレクトリの存在を確認せず、UNC ディレクトリを作成しません。 ターゲット UNC ディレクトリが存在しない場合、ファイルのインストールは失敗します。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー setupapi.h
ライブラリ Setupapi.lib
DLL Setupapi.dll

関連項目

Functions

の概要

SetupInstallFromInfSection

SetupInstallServicesFromInfSection