次の方法で共有


SetupScanFileQueueA 関数 (setupapi.h)

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

SetupScanFileQueue 関数は、セットアップ ファイル キューをスキャンし、コピー リスト内の各ノードで操作を実行します。 この操作は、フラグのセットによって指定されます。 この関数は、キューがコミットされる前または後に呼び出すことができます。

構文

WINSETUPAPI BOOL SetupScanFileQueueA(
  [in]  HSPFILEQ            FileQueue,
  [in]  DWORD               Flags,
  [in]  HWND                Window,
  [in]  PSP_FILE_CALLBACK_A CallbackRoutine,
  [in]  PVOID               CallbackContext,
  [out] PDWORD              Result
);

パラメーター

[in] FileQueue

コピー リストがスキャンまたは反復処理されるセットアップ ファイル キューへのハンドル。

[in] Flags

ファイル キュー スキャン操作を制御するために結合するフラグ。 SPQ_SCAN_FILE_PRESENCE、SPQ_SCAN_USE_CALLBACK、SPQ_SCAN_USE_CALLBACKEX、またはSPQ_SCAN_FILE_VALIDITYを指定する必要があることに注意してください。

意味
SPQ_SCAN_FILE_PRESENCE
コピー キュー内のターゲット ファイルは、ターゲットに既に存在します。
SPQ_SCAN_FILE_VALIDITY
コピー キュー内のターゲット ファイルは、有効な署名を持つターゲットに既に存在します。 Windows 2000 以降のバージョンで使用できます。
SPQ_SCAN_USE_CALLBACK
キューの各ノードのコールバック ルーチン。 コールバック ルーチンから 0 以外の値が返された場合、キュー処理は停止し、SetupScanFileQueue 0 を返します。 param1として、SPFILENOTIFY_QUEUESCAN 通知コードを発行し、ターゲット パスへのポインター 渡します。
SPQ_SCAN_USE_CALLBACKEX
キューの各ノードのコールバック ルーチン。 コールバック ルーチンから 0 以外の値が返された場合、キュー処理は停止し、SetupScanFileQueue 0 を返します。 SPFILENOTIFY_QUEUESCAN_EX通知を発行し、Param1として FILEPATHS 構造体へのポインター 渡します。 SPQ_SCAN_USE_CALLBACKEXは、ファイルに有効な署名があることを確認します。 Windows 2000 以降で使用できます。 Windows XP でのみ、このフラグを SPQ_SCAN_FILE_PRESENCE と組み合わせて署名チェックをオフにすることができます。
SPQ_SCAN_INFORM_USER
キュー内のすべてのファイルが有効な署名のチェックに合格したときに指定されるフラグ。 SetupScanFileQueue 、操作でターゲットに既に存在するファイルが必要であることをユーザーに通知します。 SPQ_SCAN_FILE_PRESENCEまたはSPQ_SCAN_FILE_VALIDITYが指定されていない場合、このフラグは無視されます。 このフラグは、SPQ_SCAN_PRUNE_COPY_QUEUEまたはSPQ_SCAN_PRUNE_DELRENでは使用できません。
SPQ_SCAN_PRUNE_COPY_QUEUE
SPQ_SCAN_FILE_PRESENCEと組み合わせて、コピー キューから現在のエントリを削除します。 SPQ_SCAN_FILE_VALIDITYと組み合わせると、署名されたエントリがコピー キューから削除されます。 Windows 2000 以降で使用できます。 Windows XP でのみ、削除キューまたは名前変更キューでも指定されているファイルは、SPQ_SCAN_PRUNE_DELREN指定されていない限り排除されません。
SPQ_SCAN_USE_CALLBACK_SIGNERINFO
Windows XP 以降で使用できます。 通知SPFILENOTIFY_QUEUESCAN_SIGNERINFO発行し、param1として FILEPATHS_SIGNERINFO 構造体へのポインター 渡します。 各ファイルに有効な署名がないか確認し、コールバック関数を使用して署名情報を報告します。
SPQ_SCAN_PRUNE_DELREN
SPQ_SCAN_FILE_PRESENCEまたはSPQ_SCAN_FILE_VALIDITYと組み合わせて、コピー キューにある削除キューまたは名前変更キュー内のエントリを削除します。 SPQ_SCAN_PRUNE_COPY_QUEUEと組み合わせると、コピー キューから削除されたファイルが、削除キューまたは名前変更キューにないファイルに制限されます。 Windows XP 以降で使用できます。

[in] Window

表示されるダイアログ ボックスを所有するウィンドウへの省略可能なハンドル。 このパラメーターは、Flags パラメーターにSPQ_SCAN_FILE_PRESENCEが含まれていない場合、または Flags にSPQ_SCAN_INFORM_USERが含まれていない場合は使用されません。

[in] CallbackRoutine

コピー キューの各ノードで呼び出される FileCallback コールバック関数への省略可能なポインター。 コールバック関数に渡される通知コードは SPFILENOTIFY_QUEUESCAN。 このパラメーターは、Flags にSPQ_SCAN_USE_CALLBACKが含まれている場合に必要です。

CallbackRoutineで指定されたコールバック ルーチン 指定する必要があります。 既定のキュー コールバック ルーチンでは、SetupScanFileQueueサポートされていません。
 

[in] CallbackContext

CallbackRoutineによって指されるコールバック ルーチンに渡される呼び出し元定義のデータを含むコンテキストへのポインター 省略可能です。

[out] Result

スキャン操作の結果を受け取る変数へのポインター。

戻り値

キュー内のすべてのノードが処理された場合、関数は 0 以外の値を返します。

SPQ_SCAN_USE_CALLBACK フラグが設定されている場合、Result の値は 0 です。 CallbackRoutine によって指定 コールバック ルーチンは、通知SPFILENOTIFY_QUEUESCAN送信されます。 CallbackRoutine.Param1 は、ターゲット パス情報を含む配列へのポインターを指定します。 ポインターは符号なし整数にキャストされており、コールバック ルーチンが情報にアクセスする前に、MAX_PATH要素の TCHAR 配列に再キャストする必要があります。 CallbackRoutine.Param2 は、現在のキュー ノードが使用中であり、システムが再起動されるまでコピーできない場合にSPQ_DELAYED_COPYに設定されます。 それ以外の場合 CallbackRoutine.Param2 は値 0 を受け取ります。

SPQ_SCAN_USE_CALLBACKが設定されていない場合、結果 は、次の表に示すように、キューがプレゼンスチェックまたは有効性チェックに合格したかどうかを示します。

リターン コード 形容
0
キューがチェックに失敗したか、チェックに合格しましたが、SPQ_SCAN_INFORM_USERが指定され、ユーザーはファイルの新しいコピーを必要とします。
1
キューがチェックに合格し、SPQ_SCAN_INFORM_USERが指定されている場合、ユーザーはコピーが必要ないことを示しました。 コピー キューが空で、削除キューまたは名前変更キューに要素がないため、呼び出し元はキューのコミットをスキップできます。
2
キューがチェックに合格し、SPQ_SCAN_INFORM_USERが指定されている場合、ユーザーはコピーが必要ないことを示しました。 コピー キューは空ですが、削除キューまたは名前変更キューに要素があるため、呼び出し元はキューのコミットをスキップできません。
 

エラーが発生した場合、またはコールバック関数が 0 以外の値を返した場合、この関数は 0 を返します。 Result が 0 以外の場合は、キュー処理を停止したコールバック関数によって返される値です。 結果 ゼロの場合は、GetLastErrorを呼び出して拡張エラー情報 取得できます。

備考

手記

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

必要条件

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

関連項目

FileCallback

Functions

の概要

SetupCommitFileQueue の

SetupDefaultQueueCallback の