CreateProcessWithLogonW win7/8 下返回 87错误为什么?
STARTUPINFOEX StartupInfoex={0};
StartupInfoex.StartupInfo.cb=sizeof(STARTUPINFOEX);
StartupInfoex.StartupInfo.dwFlags=STARTF_USESHOWWINDOW;
StartupInfoex.StartupInfo.wShowWindow=SW_NORMAL;
PROCESS_INFORMATION ProcessInfo={0};
//取得1个条目 属性链表的大小
SIZE_T cbAListSize=0;
InitializeProcThreadAttributeList(NULL,1,0,&cbAListSize);
//初始化属性链表
StartupInfoex.lpAttributeList=(PPROC_THREAD_ATTRIBUTE_LIST)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,cbAListSize);
InitializeProcThreadAttributeList(StartupInfoex.lpAttributeList,1,0,&cbAListSize);
HANDLE hParent=OpenProcess(PROCESS_ALL_ACCESS,FALSE,GetCurrentProcessId());
UpdateProcThreadAttribute(StartupInfoex.lpAttributeList,0,PROC_THREAD_ATTRIBUTE_PARENT_PROCESS,&hParent,sizeof(hParent),NULL,NULL);
CString strtmp=L"C:\\Windows\\System32\\CMD.EXE";
CreateProcessWithLogonW(L"administrator",NULL,L"123456",LOGON_WITH_PROFILE,NULL,strtmp.GetBuffer(),CREATE_UNICODE_ENVIRONMENT|EXTENDED_STARTUPINFO_PRESENT,NULL,NULL,&StartupInfoex.StartupInfo,&ProcessInfo))
以上代码:最后一句 如果 删除 |EXTENDED_STARTUPINFO_PRESENT 就能正常运行,可是我要求创建的进程,要能继承父进程的一此权限,比哪以管理员权限运行程序,其创建的子进程也是以管理员权限运行
上述程序,运行后提示87错误!!请高手指点,谢谢