Уведомления (API установки)
Уведомления — это значения, которые функция установки отправляет в подпрограмму обратного вызова для указания состояния или события. Два параметра, Param1 и Param2, отправляются вместе с уведомлением и содержат дополнительные сведения, относящиеся к уведомлению.
Подпрограмма обратного вызова обрабатывает уведомление и возвращает целое число без знака в функцию установки. В зависимости от функции установки это значение можно использовать, чтобы указать операцию или выбор пользователя, или пропустить его.
Функции установки отправляют уведомления подпрограммам обратного вызова, используя следующий синтаксис.
MsgHandler( //the specified callback routine
Context, //context used by the callback routine
Notification, //notification code
Param1, //additional notification information
Param2 //additional notification information
);
Параметр Context — это пустой указатель на переменную контекста или структуру, которую подпрограмма обратного вызова может использовать для хранения сведений, которые должны сохраняться между последующими вызовами процедуры обратного вызова.
Так как подпрограмма обратного вызова определяет реализацию контекста и на нее никогда не указываются и не изменяются функциями установки, контекст не задокументирован в справочных материалах для последующих сообщений уведомлений.
Параметр Notification задает целочисленное значение без знака для события или состояния, которое приводит к тому, что функция установки вызывает подпрограмму обратного вызова.
Param1 и Param2 являются необязательными параметрами, которые могут содержать дополнительные сведения, относящиеся к уведомлению. Эти параметры являются целыми числами без знака. Если Param1 или Param2 возвращают сведения, которые не являются целым числом без знака, оно приводится к целому типу без знака и должно быть переадресовано в исходный тип данных, прежде чем его можно будет использовать в процедуре обратного вызова.
Примечание
Следующие уведомления представляют каждое уведомление, используемое функциями установки. Отдельные функции используют подмножество этих уведомлений. Иными словами, не каждое уведомление используется каждой функцией.
Следующие уведомления используются функциями установки.
Уведомление | Описание |
---|---|
SPFILENOTIFY_COPYERROR | Во время операции копирования файла произошла ошибка. |
SPFILENOTIFY_DELETEERROR | Во время операции удаления файла произошла ошибка. |
SPFILENOTIFY_ENDCOPY | Операция копирования файла завершена. |
SPFILENOTIFY_ENDDELETE | Операция удаления файла завершена. |
SPFILENOTIFY_ENDQUEUE | Фиксация очереди завершена. |
SPFILENOTIFY_ENDREGISTRATION | Регистрация или отмена регистрации файла завершена. |
SPFILENOTIFY_ENDRENAME | Операция переименования файла завершена. |
SPFILENOTIFY_ENDSUBQUEUE | Вложенная очередь (копирование, переименование или удаление) завершена. |
SPFILENOTIFY_FILEEXTRACTED | Файл был извлечен из шкафа. |
SPFILENOTIFY_FILEINCABINET | В шкафу обнаружен файл. |
SPFILENOTIFY_FILEOPDELAYED | Файл использовался, и текущая операция была отложена до перезагрузки системы. |
SPFILENOTIFY_LANGMISMATCH | Язык текущей операции не соответствует языку системы. |
SPFILENOTIFY_NEEDMEDIA | Требуется новый исходный носитель. |
SPFILENOTIFY_NEEDNEWCABINET | Текущий файл продолжается в следующем кабинете. |
SPFILENOTIFY_QUEUESCAN | Узел в очереди файлов проверен. |
SPFILENOTIFY_QUEUESCAN_EX | Узел в очереди файлов проверен. |
SPFILENOTIFY_QUEUESCAN_SIGNERINFO | Узел в очереди файлов проверен. |
SPFILENOTIFY_RENAMEERROR | Во время операции переименования файла произошла ошибка. |
SPFILENOTIFY_STARTCOPY | Запущена операция копирования файла. |
SPFILENOTIFY_STARTDELETE | Операция удаления файла запущена. |
SPFILENOTIFY_STARTQUEUE | Очередь начала фиксацию. |
SPFILENOTIFY_STARTREGISTRATION | Началась регистрация или отмена регистрации файла. |
SPFILENOTIFY_STARTRENAME | Операция переименования файла запущена. |
SPFILENOTIFY_STARTSUBQUEUE | Запущена вложенная очередь (копирование, переименование или удаление). |
SPFILENOTIFY_TARGETEXISTS | Копия указанного файла уже существует в целевом объекте. |
SPFILENOTIFY_TARGETNEWER | В целевом объекте существует более новая версия указанного файла. |