代碼片段:CreateNamedPipe時ERROR_INVALID_NAME
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();
}
如果你還沒有從函數名想通了,這個功能是過得去_beginthread
調用。 GetLastError()
返回ERROR_INVALID_NAME
,我不明白爲什麼。
你忽略了警告吧?大多數程序員通常的做法,不知道爲什麼! – Ajay 2013-03-27 07:10:51