Служба дескрипторов

21 мая 2024

ID kernel_methods_handles

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

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

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

Метод

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

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

Copy

Назначение

Копирует дескриптор.

В результате копирования вызывающий процесс получает потомка дескриптора.

Параметры

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

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

CreateUserObject

Назначение

Создает дескриптор.

Параметры

  • [in] type – тип дескриптора.
  • [in] rights – маска прав дескриптора.
  • [in] context – указатель на данные, которые нужно ассоциировать с дескриптором.
  • [in] ipcChannel – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор является серверным IPC-дескриптором.
  • [in] riid – идентификатор службы (RIID).
  • [out] handle – значение, двоичное представление которого состоит из нескольких полей, включая поле созданного дескриптора и поле маски прав созданного дескриптора.
  • [out] rc – код возврата.

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

Close

Назначение

Закрывает дескриптор.

Параметры

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

Нет.

Connect

Назначение

Создает и связывает между собой клиентский, серверный и слушающий IPC-дескрипторы.

Параметры

  • [in] server – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует серверный процесс.
  • [in] srListener – слушающий дескриптор из пространства дескрипторов серверного процесса или значение 0xFFFFFFFF, чтобы создать его.
  • [in] createSrEndpoint – значение, которое задает, нужно ли создавать серверный IPC-дескриптор в пространстве дескрипторов серверного процесса (0 – нет, другое число – да).
  • [in] client – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует клиентский процесс.
  • [out] outSrListener – слушающий дескриптор из пространства дескрипторов серверного процесса.
  • [out] outSrEndpoint – серверный IPC-дескриптор из пространства дескрипторов серверного процесса.
  • [out] outClEndpoint – клиентский IPC-дескриптор из пространства дескрипторов клиентского процесса.
  • [out] rc – код возврата.

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

SecurityConnect

Назначение

Создает клиентский IPC-дескриптор для обращения к модулю безопасности Kaspersky Security Module через интерфейс безопасности.

Параметры

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

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

GetSidByHandle

Назначение

Позволяет получить идентификатор безопасности (SID) по дескриптору.

Параметры

  • [in] handle – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора.
  • [out] sid – идентификатор безопасности (SID).
  • [out] rc – код возврата.

Нет.

Revoke

Назначение

Закрывает дескриптор и отзывает его потомков.

Параметры

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

Нет.

RevokeSubtree

Назначение

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

Параметры

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

Нет.

CreateBadge

Назначение

Создает объект контекста передачи ресурса и настраивает механизм уведомлений для контроля жизненного цикла этого объекта.

Параметры

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

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

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