函数功能以原子操作方式通知一个内核对象,同时等待别一个内核对象.[1]
语法DWORD WINAPI SignalObjectAndWait(
__in HANDLE hObjectToSignal,
__in HANDLE hObjectToWaitOn,
__in DWORD dwMilliseconds, __in BOOL bAlertable
);
参数hObjectToSignal
要通知的内核对象的句柄.
hObjectToWaitOn
要等待的内核对像的句柄.
dwMilliseconds
等待内核对象的时间,以毫秒为单位.
bAlertable
如果这个值为TRUE,函数返回,并调用完成端口指定函数.
如果这个值为FALSE函数不返回,也不调用指定函数.
返回值函数调用完成将有如下返回值:
返回值
含义
WAIT_ABANDONED0x00000080L
指定的互斥量内核对象没有在其宿主线程终止前被释放,互斥量对象状态被设为未触发.
WAIT_IO_COMPLETION0x000000C0L
等待状态被一个或多个用户模式的APC队列终止.
WAIT_OBJECT_00x00000000L
指定内核对象当前状态为已触发.
WAIT_TIMEOUT0x00000102L
函数等待超时,指定内核对象状态为未触发.
WAIT_FAILED(DWORD)0xFFFFFFFF
函数调用失败,获得详细原因调用 GetLastError函数.
函数信息最低客户端系统
Windows 2000 Professional
最低服务器系统
Windows 2000 Server
包含头文件
Winbase.h (include Windows.h)
库文件
Kernel32.lib
动态链接库
Kernel32.dll