?? waitformultipleobjects.htm
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style><!--
body,table {font-family:"宋體"; font-size: 9pt; line-height:11pt;}
a {text-decoration:none} a:hover {color:red;text-decoration:underline}
--></style>
<title>WaitForMultipleObjects</title>
</head>
<body background="../../../images/gray_weave.gif" link="#FF0000" vlink="#FF0000" alink="#FF0000" bgcolor="#FFC8C8">
<div align="center"><center>
<table border="0" width="100%" height="22" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" height="16"><a name="WaitForMultipleObjects">WaitForMultipleObjects</a>,
WaitForMultipleObjectsEx</td>
</tr>
</table>
</center></div><div align="center"><center>
<table border="1" width="100%" bordercolorlight="#808080" cellspacing="0"
bordercolordark="#FFFFFF">
<tr>
<td width="100%" colspan="2">VB聲明</td>
</tr>
<tr>
<td width="100%" colspan="2">Declare Function WaitForMultipleObjects& Lib
"kernel32" (ByVal nCount As Long, lpHandles As Long, ByVal bWaitAll As Long,
ByVal dwMilliseconds As Long)<br>
Declare Function WaitForMultipleObjectsEx& Lib "kernel32" (ByVal nCount As
Long, lpHandles As Long, ByVal bWaitAll As Long, ByVal dwMilliseconds As Long, ByVal
bAlertable As Long)</td>
</tr>
<tr>
<td width="100%" colspan="2">說明</td>
</tr>
<tr>
<td width="100%" colspan="2">等候單個對象或所有一系列對象發出信號,或等候指定的超時時間過去(溢出)。如返回條件已經滿足,則立即返回</td>
</tr>
<tr>
<td width="100%" colspan="2">返回值</td>
</tr>
<tr>
<td width="100%" colspan="2">Long,如bWaitAll設為TRUE,則下述任何一個常數都標志著成功<br>
WAIT_ABANDONED_0:所有對象都發出消息,而且其中有一個或多個屬于互斥體(一旦擁有它們的進程中止,就會發出信號)<br>
WAIT_TIMEOUT:對象保持未發信號的狀態,但規定的等待超時時間已經超過<br>
WAIT_OBJECT_0:所有對象都發出信號<br>
WAIT_IO_COMPLETION:(僅適用于WaitForMultipleObjectsEx)由于一個I/O完成操作已作好準備執行,所以造成了函數的返回<br>
返回WAIT_FAILED則表示函數執行失敗,會設置<a href="GetLastError.htm">GetLastError</a><br>
如bWaitAll為FALSE,那么返回結果相似,只是可能還會返回相對于WAIT_ABANDONED_0
或 WAIT_OBJECT_0的一個正偏移量,指出哪個對象是被拋棄還是發出信號。例如,WAIT_OBJECT_0
+ 5的返回結果意味著列表中的第5個對象發出了信號</td>
</tr>
<tr>
<td width="100%" colspan="2">參數表</td>
</tr>
<tr>
<td width="25%">參數</td>
<td width="75%">類型及說明</td>
</tr>
<tr>
<td width="25%">nCount</td>
<td width="75%">Long,指定列表中的句柄數量</td>
</tr>
<tr>
<td width="25%">lpHandles</td>
<td width="75%">Long,指定對象句柄組合中的第一個元素</td>
</tr>
<tr>
<td width="25%">bWaitAll</td>
<td width="75%">Long,如果為TRUE,表示除非對象都發出信號,否則就一直等待下去;如果為FALSE,表示任何對象發出信號即可</td>
</tr>
<tr>
<td width="25%">dwMilliseconds</td>
<td width="75%">Long,指定要等候的毫秒數。如設為零,表示立即返回。如指定常數INFINITE,則可根據實際情況無限等待下去</td>
</tr>
<tr>
<td width="25%">bAlertable</td>
<td width="75%">Long,僅適用于WaitForMultipleObjectsEx。倘若已用一個<a href="ReadFileEx.htm">ReadFileEx</a> 或 <a href="WriteFileEx.htm">WriteFileEx</a>函數調用對異步I/O傳輸進行了初始化,而且希望函數返回——以便由那些函數指定的I/O結束例程能正常執行,那么就把這個參數設為TRUE</td>
</tr>
<tr>
<td width="100%" colspan="2">注解</td>
</tr>
<tr>
<td width="100%" colspan="2"><p align="left">在Windows NT中,對象句柄必須指定了SYNCHRONIZE(同步)訪問<br>
如函數是由于對象發出信號而返回,那么這個函數可能還會得到一些額外的效果——具體由對象的類型決定。如下所示:<br>
□ 信號機:遞增信號機計數<br>
□ 互斥體:將互斥體的所有權賦予發出調用的線程<br>
□ 自動重設事件:將事件發信狀態設為FALSE</td>
</tr>
</table>
</center></div><div align="center"><center>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="100%"><p align="right"><a href="#WaitForMultipleObjects">Top</a></td>
</tr>
</table>
</center></div>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -