Функция 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.
Флаг | Значение |
---|---|
|
Целевые файлы в очереди копирования уже присутствуют в целевом объекте. |
|
Целевые файлы в очереди копирования уже присутствуют в целевом объекте с допустимыми сигнатурами. Доступно в Windows 2000 и более поздних версиях. |
|
Подпрограмма обратного вызова для каждого узла очереди. Если подпрограмма обратного вызова возвращает ненулевое значение, обработка очереди останавливается и SetupScanFileQueue возвращает ноль. Выдача кода уведомления SPFILENOTIFY_QUEUESCAN и передачи указателя на целевой путь как Param1. |
|
Подпрограмма обратного вызова для каждого узла очереди. Если подпрограмма обратного вызова возвращает ненулевое значение, обработка очереди останавливается и SetupScanFileQueue возвращает ноль. Отправьте уведомление SPFILENOTIFY_QUEUESCAN_EX и передайте указатель на структуру FILEPATHS как Param1. SPQ_SCAN_USE_CALLBACKEX также проверяет наличие допустимой подписи файла. Доступно начиная с Windows 2000. Только в Windows XP можно отключить проверку подписи, объединив этот флаг с SPQ_SCAN_FILE_PRESENCE. |
|
Пометка, указываемая, когда все файлы в очереди передают проверку на наличие допустимых подписей. SetupScanFileQueue сообщает пользователю, что операция требует файлов, которые уже присутствуют в целевом объекте. Этот флаг игнорируется, если SPQ_SCAN_FILE_PRESENCE или SPQ_SCAN_FILE_VALIDITY не указан. Этот флаг нельзя использовать с SPQ_SCAN_PRUNE_COPY_QUEUE или SPQ_SCAN_PRUNE_DELREN. |
|
В сочетании с SPQ_SCAN_FILE_PRESENCE удаляются записи из очереди копирования. При сочетании с SPQ_SCAN_FILE_VALIDITY удаляет подписанные записи из очереди копирования. Доступно начиная с Windows 2000. Только в Windows XP файлы, указанные в очереди удаления или переименовании, не удаляются, если не указано SPQ_SCAN_PRUNE_DELREN. |
|
Доступно начиная с Windows XP. Проблемы SPFILENOTIFY_QUEUESCAN_SIGNERINFO уведомления и передают указатель на структуру FILEPATHS_SIGNERINFO как Param1. Проверяет каждый файл для допустимой подписи и сообщает сведения о подписи с помощью функции обратного вызова. |
|
В сочетании с SPQ_SCAN_FILE_PRESENCE или SPQ_SCAN_FILE_VALIDITY удаляет записи в очереди удаления или переименования, которые также находятся в очереди копирования. В сочетании с SPQ_SCAN_PRUNE_COPY_QUEUE ограничивает файлы, удаленные из очереди копирования, в файлы, которые не находятся в очередях удаления или переименования. Доступно начиная с Windows XP. |
[in] Window
Необязательный дескриптор окна для собственных диалоговых окон, представленных. Этот параметр не используется, если параметр флагов
[in] CallbackRoutine
Необязательный указатель на функцию обратного вызова FileCallback FileCallback, которая будет вызываться на каждом узле очереди копирования. Код уведомления, переданный функции обратного вызова, SPFILENOTIFY_QUEUESCAN. Этот параметр требуется, если флаги включают SPQ_SCAN_USE_CALLBACK.
[in] CallbackContext
Необязательный указатель на контекст, содержащий определяемые вызывающим объектом данные, передаваемые в подпрограмму обратного вызова, на который указывает CallbackRoutine.
[out] Result
Указатель на переменную, которая получает результат операции сканирования.
Возвращаемое значение
Функция возвращает ненулевое значение, если были обработаны все узлы в очереди.
Если установлен флаг SPQ_SCAN_USE_CALLBACK, значение в Result равно 0. Подпрограмма обратного вызова, указанная CallbackRoutine, отправляется SPFILENOTIFY_QUEUESCAN уведомления. CallbackRoutine.Param1 указывает указатель на массив, содержащий сведения о целевом пути. Указатель был приведен к целому числу без знака и должен быть переадресован в массив TCHAR элементов MAX_PATH, прежде чем подпрограмма обратного вызова может получить доступ к информации. CallbackRoutine.Param2 имеет значение SPQ_DELAYED_COPY, если текущий узел очереди используется и не может быть скопирован до перезапуска системы. В противном случае CallbackRoutine.Param2 принимает значение 0.
Если SPQ_SCAN_USE_CALLBACK не задано, результата
Возвращаемый код | Описание |
---|---|
|
Очередь завершилась ошибкой или прошла проверку, но SPQ_SCAN_INFORM_USER была указана, и пользователь хочет создать копии файлов. |
|
Очередь передала проверку и, если SPQ_SCAN_INFORM_USER была указана, пользователь указал, что копирование не требуется. Очередь копирования пуста и нет элементов в очередях удаления или переименования, поэтому вызывающий объект может пропустить фиксацию очереди. |
|
Очередь передала проверку и, если SPQ_SCAN_INFORM_USER была указана, пользователь указал, что копирование не требуется. Очередь копирования пуста, но есть элементы в очередях удаления или переименования, поэтому вызывающий объект не может пропустить фиксацию очереди. |
Функция возвращает ноль, если произошла ошибка или функция обратного вызова вернула ненулевое значение. Если результирующий является ненулевой, это значение, возвращаемое функцией обратного вызова, которая остановила обработку очереди. Если результата
Замечания
Заметка
Заголовок setupapi.h определяет SetupScanFileQueue как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | setupapi.h |
библиотеки |
Setupapi.lib |
DLL | Setupapi.dll |
См. также
Обзор