Share via


Función SetupScanFileQueueA (setupapi.h)

[Esta función está disponible para su uso en los sistemas operativos indicados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. SetupAPI ya no debe usarse para instalar aplicaciones. En su lugar, use Windows Installer para desarrollar instaladores de aplicaciones. SetupAPI sigue usándose para instalar controladores de dispositivos.

La función SetupScanFileQueue examina una cola de archivos de instalación y realiza una operación en cada nodo de su lista de copias. La operación se especifica mediante un conjunto de marcas. Se puede llamar a esta función antes o después de confirmar la cola.

Sintaxis

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

Identificador de la cola de archivos de instalación cuya lista de copia se va a examinar o iterar.

[in] Flags

Marcas que se van a combinar para controlar la operación de examen de cola de archivos. Tenga en cuenta que se deben especificar SPQ_SCAN_FILE_PRESENCE, SPQ_SCAN_USE_CALLBACK, SPQ_SCAN_USE_CALLBACKEX o SPQ_SCAN_FILE_VALIDITY.

Marca Significado
SPQ_SCAN_FILE_PRESENCE
Los archivos de destino de la cola de copia ya están presentes en el destino.
SPQ_SCAN_FILE_VALIDITY
Los archivos de destino de la cola de copia ya están presentes en el destino con firmas válidas. Disponible con Windows 2000 y versiones posteriores.
SPQ_SCAN_USE_CALLBACK
Rutina de devolución de llamada para cada nodo de la cola. Si la rutina de devolución de llamada devuelve un valor distinto de cero, el procesamiento de la cola se detiene y SetupScanFileQueue devuelve cero. Emita un código de notificación de SPFILENOTIFY_QUEUESCAN y pase un puntero a la ruta de acceso de destino como Param1.
SPQ_SCAN_USE_CALLBACKEX
Rutina de devolución de llamada para cada nodo de la cola. Si la rutina de devolución de llamada devuelve un valor distinto de cero, el procesamiento de la cola se detiene y SetupScanFileQueue devuelve cero. Emita una notificación SPFILENOTIFY_QUEUESCAN_EX y pase un puntero a una estructura FILEPATHS como Param1. SPQ_SCAN_USE_CALLBACKEX también comprueba que el archivo tiene una firma válida. Disponible a partir de Windows 2000. Solo en Windows XP, puedes desactivar la comprobación de firmas si combinas esta marca con SPQ_SCAN_FILE_PRESENCE.
SPQ_SCAN_INFORM_USER
Marca especificada cuando todos los archivos de la cola pasan la comprobación de firmas válidas. SetupScanFileQueue informa al usuario de que la operación requiere archivos que ya están presentes en el destino. Esta marca se omite si no se especifica SPQ_SCAN_FILE_PRESENCE o SPQ_SCAN_FILE_VALIDITY. Esta marca no se puede usar con SPQ_SCAN_PRUNE_COPY_QUEUE o SPQ_SCAN_PRUNE_DELREN.
SPQ_SCAN_PRUNE_COPY_QUEUE
Combinado con SPQ_SCAN_FILE_PRESENCE, quita las entradas presentes de la cola de copia. Cuando se combina con SPQ_SCAN_FILE_VALIDITY, quita las entradas firmadas de la cola de copia. Disponible a partir de Windows 2000. Solo en Windows XP, los archivos que también se especifican en la cola de eliminación o cambiar el nombre de las colas no se eliminan a menos que se especifique SPQ_SCAN_PRUNE_DELREN.
SPQ_SCAN_USE_CALLBACK_SIGNERINFO
Disponible a partir de Windows XP. Emite SPFILENOTIFY_QUEUESCAN_SIGNERINFO notificación y pasa un puntero a una estructura de FILEPATHS_SIGNERINFO como Param1. Comprueba cada archivo para obtener una firma válida e informa de la información de firma a través de la función de devolución de llamada.
SPQ_SCAN_PRUNE_DELREN
Combinado con SPQ_SCAN_FILE_PRESENCE o SPQ_SCAN_FILE_VALIDITY, quita las entradas de la cola de eliminación o cambio de nombre que también están en la cola de copia. Cuando se combina con SPQ_SCAN_PRUNE_COPY_QUEUE, limita los archivos que se quitan de la cola de copia a los archivos que no están en las colas de eliminación o cambio de nombre. Disponible a partir de Windows XP.

[in] Window

Identificador opcional de la ventana para los cuadros de diálogo propios que se presentan. Este parámetro no se usa si el parámetro Flags no contiene SPQ_SCAN_FILE_PRESENCE o si Flags no contiene SPQ_SCAN_INFORM_USER.

[in] CallbackRoutine

Puntero opcional a una función de devolución de llamada FileCallback a la que se llamará en cada nodo de la cola de copia. El código de notificación pasado a la función de devolución de llamada se SPFILENOTIFY_QUEUESCAN. Este parámetro es necesario si Flags incluye SPQ_SCAN_USE_CALLBACK.

Nota Debe proporcionar la rutina de devolución de llamada especificada por CallbackRoutine. La rutina de devolución de llamada de cola predeterminada no admite SetupScanFileQueue.
 

[in] CallbackContext

Puntero opcional a un contexto que contiene datos definidos por el autor de la llamada pasados a la rutina de devolución de llamada a la que apunta CallbackRoutine.

[out] Result

Puntero a una variable que recibe el resultado de la operación de examen.

Valor devuelto

La función devuelve un valor distinto de cero si se procesaron todos los nodos de la cola.

Si se estableció la marca SPQ_SCAN_USE_CALLBACK, el valor de Result es 0. La rutina de devolución de llamada especificada por CallbackRoutine se envía el SPFILENOTIFY_QUEUESCAN de notificación. CallbackRoutine.Param1 especifica un puntero a una matriz que contiene la información de la ruta de acceso de destino. El puntero se ha convertido en un entero sin signo y debe volver a transmitirse a una matriz TCHAR de elementos MAX_PATH antes de que una rutina de devolución de llamada pueda tener acceso a la información. CallbackRoutine.Param2 se establece en SPQ_DELAYED_COPY si el nodo de cola actual está en uso y no se puede copiar hasta que se reinicie el sistema. De lo contrario, CallbackRoutine.Param2 toma el valor 0.

Si no se estableció SPQ_SCAN_USE_CALLBACK, Result indica si la cola pasó la comprobación de presencia o validez, como se muestra en la tabla siguiente.

Código devuelto Descripción
0
La cola produjo un error en la comprobación o pasó la comprobación, pero SPQ_SCAN_INFORM_USER se especificó y el usuario quiere nuevas copias de los archivos.
1
La cola pasó la comprobación y, si se especificó SPQ_SCAN_INFORM_USER, el usuario indicó que la copia no es necesaria. La cola de copia está vacía y no hay ningún elemento en las colas de eliminación o cambio de nombre, por lo que el autor de la llamada puede omitir la confirmación de la cola.
2
La cola pasó la comprobación y, si se especificó SPQ_SCAN_INFORM_USER, el usuario indicó que la copia no es necesaria. La cola de copia está vacía, pero hay elementos en las colas de eliminación o cambio de nombre, por lo que el autor de la llamada no puede omitir la confirmación de la cola.
 

La función devuelve cero si se produjo un error o la función de devolución de llamada devolvió un valor distinto de cero. Si Result es distinto de cero, es el valor devuelto por la función de devolución de llamada que detuvo el procesamiento de la cola. Si Result es cero, se puede recuperar la información de error extendida mediante una llamada a GetLastError.

Comentarios

Nota

El encabezado setupapi.h define SetupScanFileQueue como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado setupapi.h
Library Setupapi.lib
Archivo DLL Setupapi.dll

Consulte también

FileCallback

Funciones

Información general

SetupCommitFileQueue

SetupDefaultQueueCallback