Удаление дескрипторов

Программа может удалять дескрипторы, которыми она владеет. Удаление дескриптора не делает недействительными его предков и потомков (в отличие от отзыва дескриптора, который делает недействительными его потомков). То есть через предков и потомков удаленного дескриптора обеспечивается доступ к ресурсу, который они идентифицируют. Также удаление дескриптора не нарушает целостность дерева наследования дескрипторов, которое относится к ресурсу, идентифицируемому этим дескриптором. Место удаленного дескриптора занимает его предок. То есть предок удаленного дескриптора становится непосредственным предком потомков удаленного дескриптора.

Удаление дескрипторов выполняется функцией KnHandleClose(), которая объявлена в заголовочном файле coresrv/handle/handle_api.h.

handle_api.h (фрагмент)

/**

* Функция удаляет дескриптор handle.

* В случае успеха функция возвращает rcOk, иначе возвращает код ошибки.

*/

Retcode KnHandleClose(Handle handle);

В начало