我正試圖編寫一個程序,該程序在當前目錄中執行MinGW分發中的make.exe,並使用其STDOUT數據和退出代碼。我有一個句柄來處理從CreatePipe創建數據的STDOUT。當我得到這個管道的ERROR_HANDLE_EOF我假定進程已退出,並得到其退出代碼:OpenProcess錯誤87無效參數
if(session->pid == 0) return;
HANDLE hp = OpenProcess(PROCESS_QUERY_INFORMATION |
PROCESS_TERMINATE, TRUE, session->pid);
if(hp == NULL) {
printf("OpenProcess(%i) failed, error: %i\n",
session->pid, (int)GetLastError());
return;
}
我的代碼工作在我測試(如PWD,LS等)所有其他MinGW的事業,我毫無問題地獲得STDOUT和退出代碼。但是,當我試穿一下牌子,上面的代碼顯示以下信息:
「OpenProcess(2032)失敗,錯誤:87」
我用Google搜索錯誤代碼87,並說「無效的參數」。我不明白什麼可能是無效的積極進程id像2032.任何想法?