Создание или изменение дескрипторов безопасности в Visual C ++ 6.0 - PullRequest
0 голосов
/ 01 февраля 2010

ОК, у меня есть платформа для разработчиков Windows, которая представляет собой Windows XP и копию Visual C ++ 6.0. Я пытаюсь создать или изменить дескрипторы безопасности для службы. Моя первоначальная мысль из других ответов (и некоторого чтения) заключалась в том, что я должен использовать ConvertStringSecurityDescriptorToSecurityDescriptor для установки дескриптора безопасности.

За исключением ... моей установке VC ++ 6.0 не хватает заголовков для этой функции (sddl.h в соответствии с MSDN).

Может кто-нибудь указать мне на другие API для создания / изменения дескрипторов безопасности? Я был бы счастлив, если бы смог пройтись по существующему (я могу QueryServiceObjectSecurity) и просто исключить определенных пользователей, но я не могу понять, как это сделать, просто взглянув на MSDN.

С другой стороны, если бы кто-то мог указать мне, как вызывать эту функцию без надлежащих заголовков, это было бы хорошо.

Очевидный ответ на опровержение: я могу (и буду) пытаться заставить ИТ-специалистов установить более новую версию VC ++ на мою систему, но в последний раз, когда я спрашивал ИТ-специалистов о чем-либо существенном, им потребовалось 7 недель, чтобы ответить. Поскольку я хотел бы, чтобы это было сделано в течение следующей недели или двух, я думаю, что ИТ не собирается своевременно решить этот вопрос для меня.

Ответы [ 2 ]

2 голосов
/ 01 февраля 2010

Теоретически вам не нужен более новый компилятор, просто обновленный SDK. В действительности VC ++ 6 достаточно стар, чтобы у него могли возникнуть проблемы с анализом заголовков для текущего SDK.

В качестве альтернативы этому вы можете объявить указатели на правильные типы функций в вашем коде, затем использовать LoadLibrary и GetProcAddress, чтобы получить адреса правильных функций, а затем вызвать функции через эти указатели.

В качестве отступления, однако, я бы отметил, что сомневаюсь, что то, что вы предполагали, сработает. Я никогда не пытался делать именно то, что вы пытаетесь, поэтому всегда возможно, что я неправ, но каждый раз, когда я делал что-нибудь манипулирование дескрипторами безопасности, DACL, SACL или чем-то подобным в Windows код закончился на значительно * на 1010 * длиннее и сложнее, чем первоначально казалось. Даже что-то чрезвычайно тривиальное, как правило, требует как минимум пару сотен строк кода ...

0 голосов
/ 01 февраля 2010

Вы можете проверить образец DCOMPerm , он обрабатывает DACL / ACE и другие структуры, с которыми вы столкнетесь - вот где я начал, когда создал набор классов для обработки этого для нашего Инсталляции COM - и, как сказал @jerry coffin, в итоге получилось много кода.

Вам понадобится скачать SDK, чтобы получить образец.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...