SetNamedSecurityInfo принимает доступный для записи путь; насколько большим должен быть буфер? - PullRequest
1 голос
/ 08 апреля 2019

SetNamedSecurityInfo определяется как получение LPTSTR, а не LPCTSTR.Теперь стандартный Win32 API, который принимает LPTSTR, также имеет некоторый способ указания необходимой длины буфера.Иногда это явно указано в подписи, иногда документируется как MAX_PATH или как-то иначе.Не так для SetNamedSecurityInfo.

Если честно, я понятия не имею, почему SetNamedSecurityInfo захочет записать в этот буфер, но, возможно, он пытается канонизировать путь на месте,Но тогда мне может понадобиться поддержка 32768 символов?

1 Ответ

0 голосов
/ 09 апреля 2019

Как видно в документе SetNamedSecurityInfo

pObjectName

Указатель на строку с нулевым символом в конце , которая указывает имя объект, для которого устанавливается информация о безопасности.

Это означает, что длина буфера, который будет отправлен в функцию, всегда связана с длиной строки буфера.

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