- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要为客户端和服务器(在同一主机)之间的通信创建命名管道,代码如下:
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 上运行。
谢谢
最佳答案
这是 Python 代码,但是它为本地用户设置了一个安全描述符并拒绝了远程:
dacl = ACL()
# Deny NT AUTHORITY\NETWORK SID
sid = CreateWellKnownSid(WinNetworkSid)
dacl.AddAccessDeniedAce(ACL_REVISION, GENERIC_ALL, sid)
# Allow current user SID
token = OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY)
sid = GetTokenInformation(token, TokenUser)[0]
dacl.AddAccessAllowedAce(ACL_REVISION, GENERIC_READ | GENERIC_WRITE, sid)
security_descriptor = SECURITY_DESCRIPTOR()
security_descriptor.SetSecurityDescriptorDacl(True, dacl, False)
security_attributes = SECURITY_ATTRIBUTES()
security_attributes.SECURITY_DESCRIPTOR = security_descriptor
pipe = CreateNamedPipe(
<your other params here>
security_attributes
)
关于c++ - CreateNamedPipe 导致 ERROR_ACCESS_DENIED?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14313036/
程式码片段: void RunThread(void* unused_args) { PSECURITY_DESCRIPTOR sdsc; ULONG size; Conver
我需要为客户端和服务器(在同一主机)之间的通信创建命名管道,代码如下: WCHAR wszPipeName[MAX_FILE_LENGTH]; swprintf_s(wszPipeName, MAX_
我的场景如下:使用 CreateNamedPipe() 创建命名管道对象的过程具有管理员权限,但客户端进程“连接”到它 CreateFile()才不是。通过 NULL作为 CreateNamedPip
我正在尝试使用 Windows API CreateNamedPipe 创建一个双工命名管道,以用于我的 shell 扩展和我的主桌面应用程序之间的 IPC。 对于 Vista 及更高版本,您可以传递
我多久可以销毁传递给 CreateNamedPipe() 的 lpSecurityAttributes 指向的结构? 是否需要为每个管道实例单独设置一个? CreateNamedPipe() 的 MS
我想执行任意命令行应用程序并在生成时读取其标准输出。我用 CreateNamedPipe创建一个管道,然后将另一端(打开使用 CreateFile)供应到 CreateProcess .如果目标进程没
我是一名优秀的程序员,十分优秀!