Уведомления (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
);
Параметр контекста — это указатель на переменную контекста или структуру, которую подпрограмма обратного вызова может использовать для хранения информации, которая должна сохраняться между последующими вызовами подпрограммы обратного вызова.
Так как подпрограмма обратного вызова указывает реализацию контекста, и она никогда не ссылается или не изменяется функциями установки, контекст не документируется в справочном материале для следующих сообщений уведомлений.
Параметр уведомления указывает значение целого числа без знака для события или состояния, которое приводит к вызову подпрограммы обратного вызова функции установки.
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 | Более новая версия указанного файла существует в целевом объекте. |