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

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

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

/**

* Функция создает дескриптор handle типа type с маской прав rights.

* Параметр type может принимать значения от HANDLE_TYPE_USER_FIRST до

* HANDLE_TYPE_USER_LAST. Макросы HANDLE_TYPE_USER_FIRST и HANDLE_TYPE_USER_LAST

* определены в заголовочном файле handletype.h. Параметр context задает контекст

* пользовательского ресурса.

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

*/

Retcode KnHandleCreateUserObject(rtl_uint32_t type, rtl_uint32_t rights,

void *context, Handle *handle);

Контекст пользовательского ресурса – данные, позволяющие поставщику ресурса идентифицировать ресурс и его состояние, когда запрашивается доступ к ресурсу другими программами. В общем случае это набор разнотипных данных (структура). Например, для файла контекст может включать имя, путь, положение курсора. Контекст пользовательского ресурса используется в качестве контекста передачи ресурса или совместно с несколькими контекстами передачи ресурса.

Параметр type функции KnHandleCreateUserObject() зарезервирован для возможного использования в будущем и не влияет на ее поведение, но должен принимать значение из интервала, указанного в комментарии к функции.

О маске прав дескриптора см. "Маска прав дескриптора".

В начало