Я пытаюсь подключить процесс CGI к моей службе Windows с помощью именованного канала.
Мой код работает нормально, используя другой сервер на моей машине разработки, но в IIS возникают проблемы с безопасностью, когда я вызываю CreateFile () в процессе CGI.
Служба Windows является сервером именованных каналов, поэтому процесс CGI пытается подключиться к этому именованному каналу в качестве клиента.
Я выкопал некоторый код, который создает дескриптор глобальной безопасности с флагом SECURITY_WORLD_SID_AUTHORITY, вызвав:
InitializeAcl()
AddAccessAllowedAce()
SetSecurityDescriptorDacl()
Но я не совсем понимаю эту концепцию.
Я предполагаю, что канал сервера CreateNamedPipe () должен быть вызван с этим ACL в структуре SECURITY_ATTRIBUTES, но как насчет клиента Named Pipe?
Создать ли другой дескриптор глобальной безопасности и вызвать с ним CreateFile ()?
Я наследую это с
SecurityAttributes.bInheritHandle = TRUE;
Должен ли я просто передать Null в вызове CreateFile ()?