Показать сообщение отдельно
  #2  
Старый 06.11.2022, 06:56
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Есть подозрение, что дело в правах доступа. В доке сказано следующее:
Цитата:
To create an instance of a named pipe by using CreateNamedPipe, the user must have FILE_CREATE_PIPE_INSTANCE access to the named pipe object. If a new named pipe is being created, the access control list (ACL) from the security attributes parameter defines the discretionary access control for the named pipe.
А у тебя последний аттрибут (как раз lpSecurityAttributes) вообще пустой.

попробуй создать пайп с PIPE_NOWAIT и через GetLastError получить ошибку. Подозреваю, что получишь ERROR_ACCESS_DENIED.

Хотя, мож и ошибаюсь.
Создай маленькое приложение только с этим пайпом и попробуй прогнать его в дебагере как простое приложение, а не в потоке. Посмотри что получится, почитай ошибки.

Вот тут есть неплохой пример:
https://stackoverflow.com/questions/...pipe-c-windows
Он на С++, но там в основном API, так что все понятно должно быть.
Ответить с цитированием