キューの作成とキュー ファイル操作
ファイル操作をキューに格納すると、INF セクションではなく、インストール全体を処理できるため便利です。
ファイル キューを作成するには、キュー ハンドルを格納する変数を宣言してから、 SetupOpenFileQueue 関数を呼び出します。 キューが作成されたら、キューのコピー、名前の変更、および削除の操作を実行できるほか、ファイル キューをスキャンしてエンキューされた操作を確認できます。
キューに 1 つのファイル操作を追加するには、 SetupQueueCopy、 SetupQueueRename、 および SetupQueueDelete 関数を使用します。
[ファイルのコピー]、[ファイルの削除]、または [ファイルの名前変更] セクションに一覧表示されているすべてのファイル操作は、それぞれ SetupQueueCopySection、SetupQueueDeleteSection、または SetupQueueRenameSection を使用してキューに追加できます。
INF の [インストール] セクションに記載されている [ファイルのコピー] セクションのすべてのファイルをキューに入れるもう 1 つの方法は、SetupInstallFilesFromInfSection 関数を使用することです。
次の例では、 SetupQueueCopySection 関数を使用して、INF ファイルの [ファイルのコピー] セクションに一覧表示されているすべてのファイルの コピー 操作をエンキューします。
test = SetupQueueCopySection(
MyQueue, \\Handle to the open queue
"A:\", \\Source root path
MyInf, \\Inf containing the source info
NULL, \\specifies that MyInf contains
\\ the section to copy as well
MySection, \\the name of the section to queue
\\flags specifying the copy style
SP_COPY_NOSKIP | SP_COPY_NOBROWSE,
);
この例では、MyQueue はコピー操作を追加するキュー "A:\" ですはソースへのパスを指定し、MyInf は開いている INF ファイルへのハンドルです。 パラメーター ListInfHandle が NULL に設定され、コピーのセクションが MyInf にあることを示します。 MySection は MyInf のセクションで、コピーのためにキューに登録するファイルが含まれています。
フラグSP_COPY_NOSKIPとSP_COPY_NOBROWSEは、OR 演算子を使用して組み合わせて、エラーが発生した場合にファイルをスキップまたは参照するオプションをユーザーに提供しないことを示しています。