Ave*_*y3R 2 winapi multithreading named-pipes visual-c++
代码段:
void RunThread(void* unused_args)
{
PSECURITY_DESCRIPTOR sdsc;
ULONG size;
ConvertStringSecurityDescriptorToSecurityDescriptor("S:(ML;;NW;;;LW)", SDDL_REVISION_1, &sdsc, &size);
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(sa);
sa.bInheritHandle = false;
sa.lpSecurityDescriptor = sdsc;
HANDLE pipe = CreateNamedPipe("\\.\pipe\mmaivpc_test_pipe", PIPE_ACCESS_DUPLEX, PIPE_TYPE_BYTE, 255, 1024, 1024, 0, &sa);
DWORD error = GetLastError();
}
Run Code Online (Sandbox Code Playgroud)
如果你还没有从函数名中找到它,那么这个函数就会被调用_beginthread. GetLastError()正在回归ERROR_INVALID_NAME,我无法弄清楚为什么.
您需要转义用于管道名称的字符串文字中的反斜杠:
HANDLE pipe = CreateNamedPipe("\\\\.\\pipe\\mmaivpc_test_pipe",
PIPE_ACCESS_DUPLEX,
PIPE_TYPE_BYTE, 255, 1024, 1024, 0, &sa);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
980 次 |
| 最近记录: |