进程终止后是否需要关闭线程句柄?

ten*_*our 0 windows winapi

在创建进程并立即终止它之后,是否需要CloseHandlePROCESS_INFORMATION结构中返回的线程句柄?

  STARTUPINFO si;
  GetStartupInfo(&si);
  PROCESS_INFORMATION pi;
  CreateProcess(0, cmdLine, 0, 0, FALSE, CREATE_SUSPENDED, 0, 0, &si, &pi);

  TerminateProcess(pi.hProcess, 0);

  CloseHandle(pi.hProcess);
  CloseHandle(pi.hThread);  // Is this necessary?
Run Code Online (Sandbox Code Playgroud)

Cod*_*ter 5

如以下文档中所述CreateProcess():

PROCESS_INFORMATION中的句柄必须在不再需要时使用CloseHandle关闭.

在以下文档中PROCESS_INFORMATION:

包含有关新创建的进程及其主线程的信息.它与CreateProcess,CreateProcessAsUser,CreateProcessWithLogonW或CreateProcessWithTokenW函数一起使用.

[...]

如果函数成功,请确保调用CloseHandle函数以在完成它们时关闭hProcess和hThread句柄.