Função SetupScanFileQueueW (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 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 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 |
---|---|
|
Os arquivos de destino na fila de cópia já estão presentes no destino. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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.
[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 retornado
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 |
---|---|
|
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. |
|
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. |
|
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
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 |