我需要为客户端和服务器(在同一主机中)之间的通信创建一个命名管道,这是代码:
WCHAR wszPipeName[MAX_FILE_LENGTH];
swprintf_s(wszPipeName, MAX_FILE_LENGTH, L"\\\\.\\pipe\\TEST%d", uniqueID);
pipe = CreateNamedPipe(
wszPipeName, // name of the pipe
PIPE_ACCESS_DUPLEX,
PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_NOWAIT,
1,
MAX_MSG_SIZE,
MAX_MSG_SIZE , //inbound buffer
MAX_READ_DATA_TIMEOUT,
NULL // use default security attributes
);
处理程序返回的始终是 INVALID_HANDLE_VAULE,错误是 ERROR_ACCESS_DENIED。
这里有什么问题吗?它在 Windows 7/8 上运行。
谢谢