Поделиться через


Инициализация и завершение контекста обратного вызова

Прежде чем использовать подпрограмму обратного вызова очереди по умолчанию, ее необходимо инициализировать, указав в качестве подпрограммы обратного вызова при фиксации очереди файлов или вызывая из пользовательской подпрограммы обратного вызова.

Функция SetupInitDefaultQueueCallback создает структуру контекста, используемую процедурой обратного вызова очереди по умолчанию. Он возвращает указатель на пустую структуру. Эта структура важна для операции подпрограммы обратного вызова по умолчанию и должна передаваться в подпрограмму обратного вызова. Это можно сделать, указав указатель void в качестве контекста в вызове SetupCommitFileQueueили указав указатель void в качестве параметра контекста при вызове SetupDefaultQueueCallback из пользовательской подпрограммы обратного вызова. Эта структура контекста не должна быть изменена или ссылаться на нее приложением установки.

Функция SetupInitDefaultQueueCallbackEx также инициализирует контекст для функции обратного вызова очереди по умолчанию, но указывает второе окно для получения сообщения о ходе выполнения, заданного вызывающим объектом, при каждом отправлении уведомления. Это позволяет использовать диалоговые окна запросов и ошибок диска по умолчанию, а также внедрить индикатор выполнения во второе окно, например, на странице мастера установки.

Независимо от того, инициализировали ли вы контекст, используемый подпрограммой обратного вызова очереди по умолчанию, с помощью SetupInitDefaultQueueCallback или SetupInitDefaultQueueCallbackEx, после завершения обработки поставленных в очередь операций вызовите SetupTermDefaultQueueCallback, чтобы освободить ресурсы, выделенные при инициализации структуры контекста.