Как создать именованную трубу, доступную только на вашей машине?(VS08 C ++) - PullRequest
2 голосов
/ 16 июня 2010

Я создал программу, которая записывает видеопоток в именованный канал в Windows, используя Visual Studio C ++ 2008.Как быть уверенным, что никто, кроме программ на этом компьютере, не может получить доступ к этой трубе?

  npipe = CreateNamedPipe("\\\\.\\pipe\\TestChannel", PIPE_ACCESS_DUPLEX, PIPE_TYPE_MESSAGE | PIPE_WAIT,  PIPE_UNLIMITED_INSTANCES , 1024, 1024,5000,NULL);

Ответы [ 2 ]

2 голосов
/ 16 июня 2010

Начиная с Windows Vista, вы можете включить флаг PIPE_REJECT_REMOTE_CLIENTS в параметр dwPipeMode.Для более ранних версий Windows документация предлагает использовать параметр lpSecurityAttributes для запрета доступа к сети.

2 голосов
/ 16 июня 2010

Посмотрите документацию CreateNamedPipe на MSDN . Последний параметр является необязательным параметром для параметров безопасности. При этом вы можете указать, какие пользователи получают доступ к вашему каналу. Это параметр, в который вы передаете NULL.

...