Содержание
Создание дескрипторов
Дескрипторы пользовательских ресурсов создаются поставщиками ресурсов. Для создания дескрипторов пользовательских ресурсов используется функция 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()
зарезервирован для возможного использования в будущем и не влияет на ее поведение, но должен принимать значение из интервала, указанного в комментарии к функции.
О маске прав дескриптора см. "Маска прав дескриптора".
В начало