Compartilhar via


Criando uma fila e enfileirando operações de arquivo

A enfileiramento das operações de arquivo é útil porque permite que você processe a instalação como um todo, em vez da seção INF.

Para criar uma fila de arquivos, declare uma variável para armazenar o identificador de fila e chame a função SetupOpenFileQueue . Depois que a fila for criada, você poderá enfileirar operações de cópia, renomeação e exclusão, bem como verificar a fila de arquivos para verificar as operações enfileiradas.

Para adicionar operações de arquivo único à fila, use as funções SetupQueueCopy, SetupQueueRename e SetupQueueDelete .

Todas as operações de arquivo listadas em uma seção Copiar Arquivos, Excluir Arquivos ou Renomear Arquivos podem ser adicionadas à fila usando SetupQueueCopySection, SetupQueueDeleteSection ou SetupQueueRenameSection, respectivamente.

Outra maneira de enfileirar todos os arquivos nas seções Copiar Arquivos listadas em uma seção Instalar de um INF é usar a função SetupInstallFilesFromInfSection.

O exemplo a seguir usa a função SetupQueueCopySection para enfileirar operações de cópia para todos os arquivos listados em uma seção Copiar Arquivos de um arquivo 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,
);

No exemplo, MyQueue é a fila para adicionar operações de cópia a, "A:\" especifica o caminho para a origem e MyInf é o identificador para o arquivo INF aberto. O parâmetro ListInfHandle é definido como NULL, indicando que a seção para cópia está no MyInf. MySection é a seção no MyInf que contém os arquivos a serem enfileirados para cópia.

Os sinalizadores SP_COPY_NOSKIP e SP_COPY_NOBROWSE foram combinados usando um operador OR para indicar que o usuário não deve ter opções para ignorar ou procurar arquivos se ocorrerem erros.