Функция GetPrivateObjectSecurity (securitybaseapi.h)
Функция GetPrivateObjectSecurity извлекает сведения из дескриптора безопасности частного объекта.
Синтаксис
BOOL GetPrivateObjectSecurity(
[in] PSECURITY_DESCRIPTOR ObjectDescriptor,
[in] SECURITY_INFORMATION SecurityInformation,
[out, optional] PSECURITY_DESCRIPTOR ResultantDescriptor,
[in] DWORD DescriptorLength,
[out] PDWORD ReturnLength
);
Параметры
[in] ObjectDescriptor
Указатель на структуру SECURITY_DESCRIPTOR . Это дескриптор безопасности для запроса.
[in] SecurityInformation
Набор битовых флагов, указывающих части извлекаемого дескриптора безопасности. Этот параметр может быть сочетанием SECURITY_INFORMATION битовых флагов.
[out, optional] ResultantDescriptor
Указатель на буфер, получающий копию запрошенной информации из указанного дескриптора безопасности. Структура SECURITY_DESCRIPTOR возвращается в относительном формате.
[in] DescriptorLength
Задает размер (в байтах) буфера, на который указывает параметр ResultantDescriptor .
[out] ReturnLength
Если дескриптор успешно скопирован, то указатель на переменную функция устанавливает равным нулю. Если буфер слишком мал для дескриптора безопасности, эта переменная получает необходимое количество байтов. Если значение этой переменной больше значения параметра DescriptorLength при возврате функции, функция возвращает значение FALSE и ни один дескриптор безопасности не копируется в буфер.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Эта функция предназначена только для использования диспетчерами ресурсов. Чтобы реализовать стандартную семантику управления доступом для обновления дескрипторов безопасности, диспетчер ресурсов должен убедиться, что выполнены следующие условия перед вызовом GetPrivateObjectSecurity:
- Если задан владелец объекта, вызывающий процесс должен иметь разрешение WRITE_OWNER или быть владельцем объекта.
- Если настраивается дискреционный список управления доступом объекта, вызывающий процесс должен иметь разрешение WRITE_DAC или быть владельцем объекта.
- Если задан список системного управления доступом объекта, для вызывающего процесса необходимо включить привилегию SE_SECURITY_NAME.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | securitybaseapi.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |
См. также раздел
Функции контроль доступа клиента и сервера