Служба уведомлений

02 августа 2023

ID kernel_methods_notice

Служба предназначена для работы с уведомлениями о событиях, происходящих с ресурсами.

Сведения о методах службы приведены в таблице ниже.

Методы службы notice.Notice (интерфейс kl.core.Notice)

Метод

Назначение и параметры метода

Потенциальная опасность метода

Create

Назначение

Создает приемник уведомлений.

Параметры

  • [out] notify – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует приемник уведомлений.
  • [out] rc – код возврата.

Позволяет исчерпать память ядра, создавая в ней множество объектов.

SubscribeToObject

Назначение

Добавляет запись вида "ресурс – маска событий" в приемник уведомлений, чтобы он получал уведомления о событиях, которые происходят с заданным ресурсом и соответствуют заданной маске событий.

Параметры

  • [in] notify – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует приемник уведомлений.
  • [in] object – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует ресурс.
  • [in] evMask – маска событий.
  • [in] evId – идентификатор записи вида "ресурс – маска событий". Используется для идентификации записи в полученных уведомлениях.
  • [out] rc – код возврата.

Позволяет исчерпать память ядра, создавая в ней множество объектов.

UnsubscribeFromEvent

Назначение

Удаляет из приемника уведомления, которые соответствуют записи вида "ресурс – маска событий" с заданным идентификатором.

Параметры

  • [in] notify – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует приемник уведомлений.
  • [in] evId – идентификатор записи вида "ресурс – маска событий".
  • [out] rc – код возврата.

Нет.

UnsubscribeFromObject

Назначение

Удаляет из приемника уведомления, которые соответствуют заданному ресурсу.

Параметры

  • [in] notify – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует приемник уведомлений.
  • [in] object – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует ресурс.
  • [out] rc – код возврата.

Нет.

GetEvent

Назначение

Извлекает уведомления из приемника.

Параметры

  • [in] notify – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует приемник уведомлений.
  • [in] mdelay – время ожидания появления уведомлений в приемнике в миллисекундах.
  • [out] evId – идентификатор записи вида "ресурс – маска событий", соответствующей ресурсу, для которого извлечены уведомления.
  • [out] evMask – маска событий, произошедших с ресурсом.
  • [out] rc – код возврата.

Нет.

DropAndWake

Назначение

Удаляет из заданного приемника уведомлений все записи вида "ресурс – маска событий"; возобновляет исполнение всех потоков, ожидающих наступления события, ассоциированного с заданным приемником уведомлений; опционально запрещает добавление записей вида "ресурс – маска событий" в заданный приемник уведомлений.

Параметры

  • [in] notify – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует приемник уведомлений.
  • [in] finish – значение, определяющее будет ли запрещено добавление записей вида "ресурс – маска событий" (0 – не будет запрещено, 1 – будет запрещено).
  • [out] rc – код возврата.

Нет.

SetObjectEvent

Назначение

Сигнализирует, что события из заданной маски событий произошли с заданным пользовательским ресурсом.

Параметры

  • [in] object – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует пользовательский ресурс.
  • [in] evMask – маска событий, о которых требуется сигнализировать.
  • [out] rc – код возврата.

Нет.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!