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


Уведомления (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 В целевом объекте существует более новая версия указанного файла.