Share via


SetupScanFileQueueW-Funktion (setupapi.h)

[Diese Funktion ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt "Anforderungen" angegeben sind. Es kann in nachfolgenden Versionen geändert oder entfernt werden. SetupAPI sollte nicht mehr für die Installation von Anwendungen verwendet werden. Verwenden Sie stattdessen den Windows Installer zum Entwickeln von Anwendungsinstallationsprogrammen. SetupAPI wird weiterhin zum Installieren von Gerätetreibern verwendet.]

Die SetupScanFileQueue-Funktion scannt eine Setupdateiwarteschlange und führt einen Vorgang für jeden Knoten in der Kopierliste aus. Der Vorgang wird durch eine Reihe von Flags angegeben. Diese Funktion kann entweder vor oder nach dem Commit der Warteschlange aufgerufen werden.

Syntax

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

Parameter

[in] FileQueue

Handle mit der Setupdateiwarteschlange, deren Kopierliste überprüft oder durchlaufen werden soll.

[in] Flags

Zu kombinierende Flags zum Steuern des Dateiwarteschlangenscanvorgangs. Beachten Sie, dass entweder SPQ_SCAN_FILE_PRESENCE, SPQ_SCAN_USE_CALLBACK, SPQ_SCAN_USE_CALLBACKEX oder SPQ_SCAN_FILE_VALIDITY angegeben werden müssen.

Flag Bedeutung
SPQ_SCAN_FILE_PRESENCE
Zieldateien in der Kopierwarteschlange sind bereits auf dem Ziel vorhanden.
SPQ_SCAN_FILE_VALIDITY
Zieldateien in der Kopierwarteschlange sind bereits auf dem Ziel mit gültigen Signaturen vorhanden. Verfügbar mit Windows 2000 und höheren Versionen.
SPQ_SCAN_USE_CALLBACK
Rückrufroutine für jeden Knoten der Warteschlange. Wenn die Rückrufroutine einen nonzero-Wert zurückgibt, wird die Warteschlangenverarbeitung beendet, und SetupScanFileQueue gibt null zurück. Geben Sie einen SPFILENOTIFY_QUEUESCAN Benachrichtigungscode aus, und übergeben Sie einen Zeiger auf den Zielpfad als Param1.
SPQ_SCAN_USE_CALLBACKEX
Rückrufroutine für jeden Knoten der Warteschlange. Wenn die Rückrufroutine einen nonzero-Wert zurückgibt, wird die Warteschlangenverarbeitung beendet, und SetupScanFileQueue gibt null zurück. Geben Sie eine SPFILENOTIFY_QUEUESCAN_EX Benachrichtigung aus, und übergeben Sie einen Zeiger auf eine FILEPATHS-Struktur als Param1. SPQ_SCAN_USE_CALLBACKEX überprüft auch, ob die Datei über eine gültige Signatur verfügt. Verfügbar ab Windows 2000. Nur unter Windows XP können Sie die Signaturprüfung deaktivieren, indem Sie dieses Flag mit SPQ_SCAN_FILE_PRESENCE kombinieren.
SPQ_SCAN_INFORM_USER
Flag angegeben, wenn alle Dateien in der Warteschlange die Überprüfung auf gültige Signaturen bestehen. SetupScanFileQueue informiert den Benutzer darüber, dass für den Vorgang Dateien erforderlich sind, die bereits auf dem Ziel vorhanden sind. Dieses Flag wird ignoriert, wenn SPQ_SCAN_FILE_PRESENCE oder SPQ_SCAN_FILE_VALIDITY nicht angegeben ist. Dieses Flag darf nicht mit SPQ_SCAN_PRUNE_COPY_QUEUE oder SPQ_SCAN_PRUNE_DELREN verwendet werden.
SPQ_SCAN_PRUNE_COPY_QUEUE
In Kombination mit SPQ_SCAN_FILE_PRESENCE werden vorhandene Einträge aus der Kopierwarteschlange entfernt. In Kombination mit SPQ_SCAN_FILE_VALIDITY werden signierte Einträge aus der Kopierwarteschlange entfernt. Verfügbar ab Windows 2000. Nur unter Windows XP werden Dateien, die auch in der Lösch- oder Umbenennenswarteschlange angegeben sind, nur dann zurückgeschnitten, wenn SPQ_SCAN_PRUNE_DELREN angegeben ist.
SPQ_SCAN_USE_CALLBACK_SIGNERINFO
Verfügbar ab Windows XP. Probleme SPFILENOTIFY_QUEUESCAN_SIGNERINFO Benachrichtigung und übergeben einen Zeiger an eine FILEPATHS_SIGNERINFO-Struktur als Param1. Überprüft jede Datei auf eine gültige Signatur und meldet Signaturinformationen über die Rückruffunktion.
SPQ_SCAN_PRUNE_DELREN
In Kombination mit SPQ_SCAN_FILE_PRESENCE oder SPQ_SCAN_FILE_VALIDITY werden Einträge in der Warteschlange zum Löschen oder Umbenennen entfernt, die sich ebenfalls in der Kopierwarteschlange befinden. In Kombination mit SPQ_SCAN_PRUNE_COPY_QUEUE werden Dateien, die aus der Kopierwarteschlange entfernt werden, auf Dateien beschränkt, die sich nicht in den Lösch- oder Umbenennenswarteschlangen befinden. Verfügbar ab Windows XP.

[in] Window

Optionales Handle für das Fenster, um die angezeigten Dialogfelder zu besitzen. Dieser Parameter wird nicht verwendet, wenn der Flags-Parameter keine SPQ_SCAN_FILE_PRESENCE enthält oder wenn Flags keine SPQ_SCAN_INFORM_USER enthält.

[in] CallbackRoutine

Optionaler Zeiger auf eine FileCallback-Rückruffunktion , die auf jedem Knoten der Kopierwarteschlange aufgerufen werden soll. Der an die Rückruffunktion übergebene Benachrichtigungscode ist SPFILENOTIFY_QUEUESCAN. Dieser Parameter ist erforderlich, wenn Flags SPQ_SCAN_USE_CALLBACK enthält.

Hinweis Sie müssen die von CallbackRoutine angegebene Rückrufroutine bereitstellen. SetupScanFileQueue wird von der Standardmäßigen Warteschlangenrückrufroutine nicht unterstützt.
 

[in] CallbackContext

Optionaler Zeiger auf einen Kontext, der vom Aufrufer definierte Daten enthält, die an die Rückrufroutine-Routine übergeben werden, auf die callbackRoutine verweist.

[out] Result

Zeiger auf eine Variable, die das Ergebnis des Scanvorgangs empfängt.

Rückgabewert

Die Funktion gibt einen ungleichen Wert zurück, wenn alle Knoten in der Warteschlange verarbeitet wurden.

Wenn das SPQ_SCAN_USE_CALLBACK-Flag festgelegt wurde, ist der Wert in Result 0. Die von CallbackRoutine angegebene Rückrufroutine wird die Benachrichtigung SPFILENOTIFY_QUEUESCAN gesendet. CallbackRoutine.Param1 gibt einen Zeiger auf ein Array an, das die Zielpfadinformationen enthält. Der Zeiger wurde in eine ganze Zahl ohne Vorzeichen umgewandelt und muss in ein TCHAR-Array von MAX_PATH Elementen neu umgewandelt werden, bevor eine Rückrufroutine auf die Informationen zugreifen kann. CallbackRoutine.Param2 ist auf SPQ_DELAYED_COPY festgelegt, wenn der aktuelle Warteschlangenknoten verwendet wird und nicht kopiert werden kann, bis das System neu gestartet wird. Andernfalls übernimmt CallbackRoutine.Param2 den Wert 0.

Wenn SPQ_SCAN_USE_CALLBACK nicht festgelegt wurde, gibt Result an, ob die Warteschlange die Anwesenheits- oder Gültigkeitsprüfung bestanden hat, wie in der folgenden Tabelle gezeigt.

Rückgabecode Beschreibung
0
Die Warteschlange konnte die Überprüfung nicht durchführen, oder sie hat die Überprüfung bestanden, aber SPQ_SCAN_INFORM_USER angegeben wurde, und der Benutzer möchte neue Kopien der Dateien.
1
Die Warteschlange hat die Überprüfung bestanden, und wenn SPQ_SCAN_INFORM_USER angegeben wurde, gab der Benutzer an, dass das Kopieren nicht erforderlich ist. Die Kopierwarteschlange ist leer, und es gibt keine Elemente in den Lösch- oder Umbenennungswarteschlangen, sodass der Aufrufer den Warteschlangencommit überspringen kann.
2
Die Warteschlange hat die Überprüfung bestanden, und wenn SPQ_SCAN_INFORM_USER angegeben wurde, gab der Benutzer an, dass das Kopieren nicht erforderlich ist. Die Kopierwarteschlange ist leer, aber es gibt Elemente in den Lösch- oder Umbenennenswarteschlangen, sodass der Aufrufer den Warteschlangencommit nicht überspringen kann.
 

Die Funktion gibt null zurück, wenn ein Fehler aufgetreten ist oder die Rückruffunktion nonzero zurückgegeben wurde. Wenn Result nichtzero ist, ist dies der Wert, der von der Rückruffunktion zurückgegeben wird, die die Warteschlangenverarbeitung beendet hat. Wenn Result null ist, können erweiterte Fehlerinformationen durch einen Aufruf von GetLastError abgerufen werden.

Hinweise

Hinweis

Der Setupapi.h-Header definiert SetupScanFileQueue als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile setupapi.h
Bibliothek Setupapi.lib
DLL Setupapi.dll

Weitere Informationen

FileCallback

Funktionen

Übersicht

SetupCommitFileQueue

SetupDefaultQueueCallback