Partilhar via


Função SetupScanFileQueueW (setupapi.h)

[Essa função está disponível para uso nos sistemas operacionais indicados na seção Requisitos. Ele pode estar alterado ou 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 SetupScanFileQueueW(
  [in]  HSPFILEQ            FileQueue,
  [in]  DWORD               Flags,
  [in]  HWND                Window,
  [in]  PSP_FILE_CALLBACK_W 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 digitalizada 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.

Bandeira 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 de 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 de fila será interrompido e SetupScanFileQueue retornará zero. Emita uma notificação SPFILENOTIFY_QUEUESCAN_EX e passe um ponteiro para uma estrutura de 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 a verificação de 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 as 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 podados, 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 que são 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 um FileCallback função de retorno de chamada 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.

Observação 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.

Valor de retorno

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 foi definido, o valor em Result é 0. A rotina de retorno de chamada especificada pelo CallbackRoutine é enviada à 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 está 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 assume o valor 0.

Se SPQ_SCAN_USE_CALLBACK não tiver sido definido, resultado indicará se a fila passou na verificação de presença ou validade, conforme mostrado na tabela a seguir.

Código de retorno Descrição
0
A fila falhou na verificação ou passou na verificação, mas SPQ_SCAN_INFORM_USER foi especificada e o usuário deseja novas cópias dos arquivos.
1
A fila passou na verificação e, se SPQ_SCAN_INFORM_USER foi especificada, 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, para que o chamador possa ignorar a confirmação da fila.
2
A fila passou na verificação e, se SPQ_SCAN_INFORM_USER foi especificada, o usuário indicou que a cópia não é necessária. A fila de cópia 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 não zero. Se resultado não for zero, será o valor retornado pela função de retorno de chamada que interrompeu o processamento da fila. Se resultado for zero, as informações de erro estendidas poderão ser recuperadas por uma chamada para GetLastError.

Observações

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho setupapi.h
biblioteca Setupapi.lib
de DLL Setupapi.dll

Consulte também

FileCallback

Funções

Visão geral

SetupCommitFileQueue

SetupDefaultQueueCallback