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

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

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

Методы службы 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-дескриптором IPC-канала, ассоциированного с пользовательским ресурсом.
  • [out] riid – идентификатор службы (RIID), ассоциированной с пользовательским ресурсом.
  • [in] handle – значение, двоичное представление которого состоит из нескольких полей, включая поле созданного дескриптора и поле маски прав созданного дескриптора. Дескриптор идентифицирует пользовательский ресурс.
  • [out] rc – код возврата.

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

Close

Назначение

Удаляет дескриптор.

Параметры

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

Нет.

Connect

Назначение

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

Параметры

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

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

Disconnect

Назначение

Разрывает связь между клиентским и серверным IPC-дескрипторами.

Параметры

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

Нет.

SecurityConnect

Назначение

Создает дескриптор и связывает его с интерфейсом безопасности.

Параметры

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

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

SecurityDisconnect

Назначение

Разрывает связь дескриптора с интерфейсом безопасности.

Параметры

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

Нет.

UidAlloc

Назначение

Выделяет значение уникального идентификатора.

Метод используется для обратной совместимости, так как в настоящее время вместо уникальных идентификаторов используются дескрипторы.

Параметры

  • [out] uid – значение уникального идентификатора.
  • [out] rc – код возврата.

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

UidFree

Назначение

Освобождает значение уникального идентификатора. (Это значение требуется освободить, чтобы оно стало доступным для повторного использования.)

Метод используется для обратной совместимости, так как в настоящее время вместо уникальных идентификаторов используются дескрипторы.

Параметры

  • [in] uid – значение уникального идентификатора.
  • [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 – код возврата.

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

В начало