常规的等待内核对象的函数已经不用我说明了
我们来将内核对象做个纵向对比
windows核心编程之内核对象同步(3)
windows核心编程之内核对象同步(3)
现在我们要介绍一个用于等待子进程初始化的函数
DWORD WaitForInputIdle(
HANDLE hProcess, //子进程句柄
DWORD dwMilliseconds // 超时时间
);
该函数一直处于等待状态,直到子进程不再处理任何输入为止

MsgWaitForMultipleObjects
DWORD nCount, // number of handles in array
CONST HANDLE pHandles, // object-handle array
DWORD dwMilliseconds, // time-out interval
DWORD dwWakeMask, // input-event type

多于的我就不说了,这个函数和不带Msg的主要差别是,这个函数可以等待窗口消息(所以主要用在带界面的程序里)
我们主要讲下dwWakeMask
windows核心编程之内核对象同步(3)
带ex的版本
dwFlags
windows核心编程之内核对象同步(3)

返回值的说明以后补上

DWORD SignalObjectAndWait(
HANDLE hObjectToSignal, // handle to object to signal
HANDLE hObjectToWaitOn, // handle to object to watch
DWORD dwMilliseconds, // time-out interval
BOOL bAlertable // alertable option
);

将第一个内核对象变为有信号状态,等待第二个内核对象

第四个参数参考ReadFileEx,我有做过说明

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-30
  • 2021-12-21
  • 2022-02-09
  • 2021-05-17
  • 2022-01-03
  • 2021-08-17
猜你喜欢
  • 2021-05-29
  • 2022-02-21
  • 2022-12-23
  • 2022-12-23
  • 2021-11-04
  • 2022-01-15
  • 2021-10-31
相关资源
相似解决方案