SetupScanFileQueueA-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 zum Installieren von Anwendungen verwendet werden. Verwenden Sie stattdessen den Windows Installer zum Entwickeln von Installationsprogrammen für Anwendungen. SetupAPI wird weiterhin zum Installieren von Gerätetreibern verwendet.]
Die Funktion SetupScanFileQueue überprüft eine Setupdateiwarteschlange und führt einen Vorgang auf jedem Knoten in der Kopierliste aus. Der Vorgang wird durch eine Reihe von Flags angegeben. Diese Funktion kann entweder vor oder nach dem Commit für die Warteschlange aufgerufen werden.
Syntax
WINSETUPAPI BOOL SetupScanFileQueueA(
[in] HSPFILEQ FileQueue,
[in] DWORD Flags,
[in] HWND Window,
[in] PSP_FILE_CALLBACK_A CallbackRoutine,
[in] PVOID CallbackContext,
[out] PDWORD Result
);
Parameter
[in] FileQueue
Handle für die Setupdateiwarteschlange, deren Kopierliste gescannt 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 |
---|---|
|
Zieldateien in der Kopierwarteschlange sind bereits auf dem Ziel vorhanden. |
|
Zieldateien in der Kopierwarteschlange sind bereits auf dem Ziel mit gültigen Signaturen vorhanden. Verfügbar mit Windows 2000 und höheren Versionen. |
|
Rückrufroutine für jeden Knoten der Warteschlange. Wenn die Rückrufroutine einen Wert ungleich null zurückgibt, wird die Warteschlangenverarbeitung beendet, und SetupScanFileQueue gibt null zurück. Geben Sie einen SPFILENOTIFY_QUEUESCAN Benachrichtigungscode aus, und übergeben Sie einen Zeiger als Param1 auf den Zielpfad. |
|
Rückrufroutine für jeden Knoten der Warteschlange. Wenn die Rückrufroutine einen Wert ungleich null 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 Signaturüberprüfung deaktivieren, indem Sie dieses Flag mit SPQ_SCAN_FILE_PRESENCE kombinieren. |
|
Das Flag wird 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. |
|
In Kombination mit SPQ_SCAN_FILE_PRESENCE entfernt die vorhandenen Einträge aus der Kopierwarteschlange. In Kombination mit SPQ_SCAN_FILE_VALIDITY entfernt signierte Einträge aus der Kopierwarteschlange. Verfügbar ab Windows 2000. Nur unter Windows XP werden Dateien, die auch in der Lösch- oder Umbenennenswarteschlange angegeben sind, nicht beschnitten, es sei denn, es wurde SPQ_SCAN_PRUNE_DELREN angegeben. |
|
Verfügbar ab Windows XP. Probleme SPFILENOTIFY_QUEUESCAN_SIGNERINFO Benachrichtigung und übergeben einen Zeiger auf eine FILEPATHS_SIGNERINFO-Struktur als Param1. Überprüft jede Datei auf eine gültige Signatur und meldet Signaturinformationen über die Rückruffunktion. |
|
In Kombination mit SPQ_SCAN_FILE_PRESENCE oder SPQ_SCAN_FILE_VALIDITY werden Einträge in der Lösch- oder Umbenennenswarteschlange entfernt, die sich ebenfalls in der Kopierwarteschlange befinden. In Kombination mit SPQ_SCAN_PRUNE_COPY_QUEUE schränkt Dateien, die aus der Kopierwarteschlange entfernt werden, auf Dateien ein, die sich nicht in den Lösch- oder Umbenennenswarteschlangen befinden. Verfügbar ab Windows XP. |
[in] Window
Optionales Handle für das Fenster für eigene Dialogfelder, die angezeigt werden. 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.
[in] CallbackContext
Optionaler Zeiger auf einen Kontext, der vom Aufrufer definierte Daten enthält, die an die Rückrufroutine ü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 Wert ungleich Null zurück, wenn alle Knoten in der Warteschlange verarbeitet wurden.
Wenn das flag SPQ_SCAN_USE_CALLBACK festgelegt wurde, ist der Wert in Result 0. Die von CallbackRoutine angegebene Rückrufroutine erhält die Benachrichtigung SPFILENOTIFY_QUEUESCAN. 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 nimmt CallbackRoutine.Param2 den Wert 0 an.
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 |
---|---|
|
Die Warteschlange konnte die Überprüfung nicht durchführen, oder sie hat die Überprüfung bestanden, aber SPQ_SCAN_INFORM_USER wurde angegeben, und der Benutzer möchte neue Kopien der Dateien. |
|
Die Warteschlange hat die Überprüfung bestanden, und wenn SPQ_SCAN_INFORM_USER angegeben wurde, hat der Benutzer angegeben, dass das Kopieren nicht erforderlich ist. Die Kopierwarteschlange ist leer, und es gibt keine Elemente in den Lösch- oder Umbenennenswarteschlangen, sodass der Aufrufer den Warteschlangencommit überspringen kann. |
|
Die Warteschlange hat die Überprüfung bestanden, und wenn SPQ_SCAN_INFORM_USER angegeben wurde, hat der Benutzer angegeben, 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 ungleich null zurückgegeben wurde. Wenn Result ungleich null 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 die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
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 |