Как разрешить доступ через Named Pipe, Доступ через Именованные каналы
Нужно что бы это работало в сети (сеть имеет следующий состав: Контроллер AD - win server 2003, и две тачки winXP Pro)
Сервер создает такой канал:
hNamedPipe = CreateNamedPipe(
"\\\\.\\Pipe\\SSPIpipe",
PIPE_ACCESS_DUPLEX,
PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT,
PIPE_UNLIMITED_INSTANCES,
MAX_BUFFER_SIZE,
MAX_BUFFER_SIZE,
5,
NULL);
Клиент открывает его так:
// формируем строку с именем канала
PipeName += "\\\\";
PipeName += address;
PipeName += "\\pipe\\SSPIpipe";
// создаем канал
hNamedPipe = CreateFile(
PipeName.c_str(),
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
Где "adress" - это IP адрес сервера.
Но при работе по сети возвращается INVALID_HANDLE_VALUE, возможно я где-то в политике безопасности это не разрешил, в общем куда копать???
Можно попробовать потестить в сети без домена, если заработает, то проблема в политиках AD.
Цитата: mohito
Но при работе по сети возвращается INVALID_HANDLE_VALUE, возможно я где-то в политике безопасности это не разрешил, в общем куда копать???
В сторону GetLastError.
Попробуй NetBIOS имена.