Delphi WinAPI WaitForSingleObject-等待函数-等待指定对象处于有信号状态或超时间隔结束。

Delphi WinAPI WaitForSingleObject-等待函数-等待指定对象处于有信号状态或超时间隔结束。

函数原型:

DWORD WaitForSingleObject(
  HANDLE hHandle,    //句柄
  DWORD  dwMilliseconds   //超时间隔毫秒
);

返回值:

  执行成功,返回指示导致函数返回的事件:

  •   WAIT_ABANDONED  //指定的对象是互斥对象,在所属线程终止之前,拥有互斥对象的线程未释放该互斥对象。互斥对象的所有权被授予调用线程,互斥状态被设置为nonsignaled。如果互斥锁正在保护持久状态信息,则应检查其一致性。
  •   WAIT_OBJECT_0  //指定对象的状态已发出信号。
  •   WAIT_OBJECT_0  //超时间隔已过,并且对象的状态未被忽略。
  •   WAIT_FAILED  //函数失败。获取扩展错误信息,请调用GetLastError。

WaitForSingleObject函数可以等待以下对象:

  • Change notification
  • Console input
  • Event  
  • Memory resource notification
  • Mutex
  • Process
  • Semaphore
  • Thread
  • Waitable timer

扩展:

  要进入可报警的等待状态,请使用WaitForSingleObjectEx函数。

  要等待多个对象,请使用 WaitForMultipleObjects

创建时间:2020.05.04  更新日期:

来源:https://www.cnblogs.com/guorongtao/p/12826388.html