Процесс может отозвать потомков дескриптора, которым он владеет. Отзыв дескрипторов осуществляется на основе дерева наследования дескрипторов.
Отзыв дескрипторов не закрывает их, но через отозванные дескрипторы невозможно обращаться к ресурсам. Любая функция, которая принимает дескриптор, завершается с ошибкой rcHandleRevoked
, если эта функция вызвана с отозванным дескриптором.
Чтобы отозвать потомков дескриптора, нужно вызвать функцию KnHandleRevoke()
или KnHandleRevokeSubtree()
. Функция KnHandleRevokeSubtree()
использует объект контекста передачи ресурса, который создается при передаче дескрипторов.
Если каждый из дескрипторов системного ресурса во всех процессах, которые владеют этими дескрипторами, будет закрыт (см. "Закрытие дескрипторов") или отозван, то этот системный ресурс будет удален.
Сведения о функциях API приведены в таблице ниже.
Функции handle_api.h
Функция |
Сведения о функции |
---|---|
|
Назначение Закрывает дескриптор и отзывает его потомков. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Отзывает дескрипторы, которые образуют поддерево наследования заданного дескриптора. Параметры
Возвращаемые значения В случае успеха возвращает |