Compartilhar via


Função SetupScanFileQueueA (setupapi.h)

[Essa função está disponível para uso nos sistemas operacionais indicados na seção Requisitos. Ele poderá ser alterado ou ficar indisponível em versões subsequentes. SetupAPI não deve mais ser usado para instalar aplicativos. Em vez disso, use o Windows Installer para desenvolver instaladores de aplicativos. SetupAPI continua a ser usado para instalar drivers de dispositivo.]

A função SetupScanFileQueue verifica uma fila de arquivos de instalação, executando uma operação em cada nó em sua lista de cópias. A operação é especificada por um conjunto de sinalizadores. Essa função pode ser chamada antes ou depois que a fila tiver sido confirmada.

Sintaxe

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

Parâmetros

[in] FileQueue

Manipule para a fila de arquivos de instalação cuja lista de cópias deve ser examinada ou iterada.

[in] Flags

Sinalizadores a serem combinados para controlar a operação de verificação da fila de arquivos. Observe que SPQ_SCAN_FILE_PRESENCE, SPQ_SCAN_USE_CALLBACK, SPQ_SCAN_USE_CALLBACKEX ou SPQ_SCAN_FILE_VALIDITY devem ser especificados.

Sinalizador Significado
SPQ_SCAN_FILE_PRESENCE
Os arquivos de destino na fila de cópia já estão presentes no destino.
SPQ_SCAN_FILE_VALIDITY
Os arquivos de destino na fila de cópia já estão presentes no destino com assinaturas válidas. Disponível com o Windows 2000 e versões posteriores.
SPQ_SCAN_USE_CALLBACK
Rotina de retorno de chamada para cada nó da fila. Se a rotina de retorno de chamada retornar um valor diferente de zero, o processamento da fila será interrompido e SetupScanFileQueue retornará zero. Emita um código de notificação SPFILENOTIFY_QUEUESCAN e passe um ponteiro para o caminho de destino como Param1.
SPQ_SCAN_USE_CALLBACKEX
Rotina de retorno de chamada para cada nó da fila. Se a rotina de retorno de chamada retornar um valor diferente de zero, o processamento da fila será interrompido e SetupScanFileQueue retornará zero. Emita uma notificação SPFILENOTIFY_QUEUESCAN_EX e passe um ponteiro para uma estrutura FILEPATHS como Param1. SPQ_SCAN_USE_CALLBACKEX também verifica se o arquivo tem uma assinatura válida. Disponível a partir do Windows 2000. Somente no Windows XP, você pode desativar a verificação de assinatura combinando esse sinalizador com SPQ_SCAN_FILE_PRESENCE.
SPQ_SCAN_INFORM_USER
Sinalizador especificado quando todos os arquivos na fila passam o marcar para assinaturas válidas. SetupScanFileQueue informa ao usuário que a operação requer arquivos que já estão presentes no destino. Esse sinalizador será ignorado se SPQ_SCAN_FILE_PRESENCE ou SPQ_SCAN_FILE_VALIDITY não for especificado. Esse sinalizador não pode ser usado com SPQ_SCAN_PRUNE_COPY_QUEUE ou SPQ_SCAN_PRUNE_DELREN.
SPQ_SCAN_PRUNE_COPY_QUEUE
Combinado com SPQ_SCAN_FILE_PRESENCE, remove as entradas presentes da fila de cópia. Quando combinado com SPQ_SCAN_FILE_VALIDITY, remove entradas assinadas da fila de cópia. Disponível a partir do Windows 2000. Somente no Windows XP, os arquivos que também são especificados na fila de exclusão ou nas filas de renomeação não são removidos, a menos que SPQ_SCAN_PRUNE_DELREN seja especificado.
SPQ_SCAN_USE_CALLBACK_SIGNERINFO
Disponível a partir do Windows XP. Problemas SPFILENOTIFY_QUEUESCAN_SIGNERINFO notificação e passa um ponteiro para uma estrutura de FILEPATHS_SIGNERINFO como Param1. Verifica cada arquivo quanto a uma assinatura válida e relata informações de assinatura por meio da função de retorno de chamada.
SPQ_SCAN_PRUNE_DELREN
Combinado com SPQ_SCAN_FILE_PRESENCE ou SPQ_SCAN_FILE_VALIDITY, remove entradas na fila de exclusão ou renomeação que também estão na fila de cópia. Quando combinado com SPQ_SCAN_PRUNE_COPY_QUEUE, limita os arquivos removidos da fila de cópia para arquivos que não estão nas filas de exclusão ou renomeação. Disponível a partir do Windows XP.

[in] Window

Identificador opcional para a janela para possuir caixas de diálogo que são apresentadas. Esse parâmetro não será usado se o parâmetro Flags não contiver SPQ_SCAN_FILE_PRESENCE ou se Flags não contiver SPQ_SCAN_INFORM_USER.

[in] CallbackRoutine

Ponteiro opcional para uma função de retorno de chamada FileCallback a ser chamada em cada nó da fila de cópia. O código de notificação passado para a função de retorno de chamada é SPFILENOTIFY_QUEUESCAN. Esse parâmetro será necessário se Flags incluir SPQ_SCAN_USE_CALLBACK.

Nota Você deve fornecer a rotina de retorno de chamada especificada por CallbackRoutine. A rotina de retorno de chamada de fila padrão não dá suporte a SetupScanFileQueue.
 

[in] CallbackContext

Ponteiro opcional para um contexto que contém dados definidos pelo chamador passados para a rotina de retorno de chamada apontada por CallbackRoutine.

[out] Result

Ponteiro para uma variável que recebe o resultado da operação de verificação.

Retornar valor

A função retornará um valor diferente de zero se todos os nós na fila forem processados.

Se o sinalizador SPQ_SCAN_USE_CALLBACK tiver sido definido, o valor em Resultado será 0. A rotina de retorno de chamada especificada por CallbackRoutine é enviada ao SPFILENOTIFY_QUEUESCAN de notificação. CallbackRoutine.Param1 especifica um ponteiro para uma matriz que contém as informações do caminho de destino. O ponteiro foi convertido em um inteiro sem sinal e deve ser reformulado para uma matriz TCHAR de elementos MAX_PATH antes que uma rotina de retorno de chamada possa acessar as informações. CallbackRoutine.Param2 será definido como SPQ_DELAYED_COPY se o nó da fila atual estiver em uso e não puder ser copiado até que o sistema seja reiniciado. Caso contrário, CallbackRoutine.Param2 usa o valor 0.

Se SPQ_SCAN_USE_CALLBACK não foi definido, Result indica se a fila passou a presença ou a validade marcar conforme mostrado na tabela a seguir.

Código de retorno Descrição
0
A fila falhou no marcar ou passou no marcar, mas SPQ_SCAN_INFORM_USER foi especificado e o usuário deseja novas cópias dos arquivos.
1
A fila passou pelo marcar e, se SPQ_SCAN_INFORM_USER foi especificado, o usuário indicou que a cópia não é necessária. A fila de cópia está vazia e não há elementos nas filas de exclusão ou renomeação, portanto, o chamador pode ignorar a confirmação de fila.
2
A fila passou pelo marcar e, se SPQ_SCAN_INFORM_USER foi especificado, o usuário indicou que a cópia não é necessária. A fila de cópias está vazia, mas há elementos nas filas de exclusão ou renomeação, portanto, o chamador não pode ignorar a confirmação de fila.
 

A função retornará zero se ocorrer um erro ou a função de retorno de chamada retornar diferente de zero. Se Result for diferente de zero, será o valor retornado pela função de retorno de chamada que interrompeu o processamento da fila. Se Result for zero, as informações de erro estendidas poderão ser recuperadas por uma chamada para GetLastError.

Comentários

Observação

O cabeçalho setupapi.h define SetupScanFileQueue como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho setupapi.h
Biblioteca Setupapi.lib
DLL Setupapi.dll

Confira também

FileCallback

Funções

Visão geral

SetupCommitFileQueue

SetupDefaultQueueCallback