Orden del compromiso de la cola
Cuando la función SetupCommitFileQueue confirma la cola de archivos, procesa las operaciones de archivo en el orden siguiente: operaciones de eliminación de archivos, operaciones de cambio de nombre de archivo y, por último, operaciones de copia de archivos. En el siguiente esquema se muestra el ciclo de vida del proceso de compromiso de una cola.
- iniciar la subconsulta delete
- iniciar una operación de <eliminación de archivos: repita para cada una.
- finalizar una operación de <eliminación de archivos: eliminación de archivos en cola
- finalizar la subconsulta delete
- iniciar la subconsulta rename
- iniciar una operación <de cambio de nombre de archivo: repita para cada una.
- finalizar una operación de <eliminación de archivos: cambio de nombre del archivo en cola
- finalizar la subconsulta rename
- iniciar la subque de copia
- iniciar una operación de <copia de archivos: repita para cada una.
- finalizar una operación de <copia de archivos: copia de archivos en cola
- finalizar la subconsulta de copia
- finalizar la cola
En cada paso, o si se produce un error, la función SetupCommitFileQueue envía una notificación a la rutina de devolución de llamada. La rutina de devolución de llamada puede usar la información enviada por la cola para realizar un seguimiento del progreso de la instalación y, si es necesario, interactuar con el usuario.
Por ejemplo, si una operación de copia de archivos necesitaba un archivo de origen que no estaba disponible en la ruta de acceso actual, SetupCommitFileQueue enviaría una notificación de SPFILENOTIFY_NEEDMEDIA a la rutina de devolución de llamada, junto con información sobre el archivo y los medios necesarios. La rutina de devolución de llamada podría usar esta información para generar un cuadro de diálogo que pida al usuario que inserte el siguiente disco llamando a SetupPromptForDisk.
Una rutina de devolución de llamada de cola predeterminada, SetupDefaultQueueCallback, se incluye con la API de instalación. Esta rutina controla las notificaciones de cola y genera cuadros de diálogo de error y barras de progreso para la instalación. Puede usar la rutina de devolución de llamada de cola predeterminada tal cual o escribir una rutina de devolución de llamada de filtro para controlar un subconjunto de las notificaciones y pasar las demás a la rutina de devolución de llamada de cola predeterminada.
Si ninguna de las funciones de la rutina de devolución de llamada se adapta a sus necesidades, puede escribir una rutina de devolución de llamada personalizada autocontenida que no llame a la rutina de devolución de llamada de cola predeterminada.
Para obtener más información sobre las rutinas de devolución de llamada de cola, consulte Rutina de devolución de llamada de cola predeterminada y Creación de una rutina de devolución de llamada de cola personalizada.