Поделиться через


Создание операций с файлами очередей и очередей

Постановка операций с файлами в очередь полезна, так как она позволяет обрабатывать установку в целом, а не с помощью раздела INF.

Чтобы создать очередь файлов, объявите переменную для хранения дескриптора очереди, а затем вызовите функцию SetupOpenFileQueue . После создания очереди можно ставить в очередь операции копирования, переименования и удаления, а также сканировать очередь файлов для проверки операций в очереди.

Чтобы добавить операции с одним файлом в очередь, используйте функции SetupQueueCopy, SetupQueueRename и SetupQueueDelete .

Все операции с файлами, перечисленные в разделе Копирование файлов, Удаление файлов или Переименование файлов , можно добавить в очередь с помощью setupQueueCopySection, SetupQueueDeleteSection или SetupQueueRenameSection соответственно.

Еще один способ поместить в очередь все файлы в разделах Копирования файлов , перечисленных в разделе Install в INF, — использовать функцию 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, чтобы указать, что пользователю не следует предлагать варианты пропуска или поиска файлов в случае возникновения ошибок.