NDIS_WAIT_FOR_MUTEX巨集 (ndis.h)
NDIS_WAIT_FOR_MUTEX 巨集會將目前的線程置於等候狀態,直到指定的 mutex 物件設定為訊號狀態為止。
語法
void NDIS_WAIT_FOR_MUTEX(
_M_
);
參數
_M_
初始化NDIS_MUTEX類型 mutex 物件的指標。 呼叫端在對 NDIS_INIT_MUTEX 巨集的先前呼叫中初始化 mutex 物件。 NDIS_MUTEX是 KMUTEX 類型的包裝函式。
傳回值
如果作業成功完成,NDIS_WAIT_FOR_MUTEX 會傳回STATUS_SUCCESS。 否則,它會傳回適當的NTSTATUS錯誤碼。
言論
NDIS 網路驅動程序應該使用 NDIS_WAIT_FOR_MUTEX 巨集來等候 mutex 轉換為訊號狀態。
驅動程式無法在引發的 IRQL 或 任意線程內容 等候 mutex 物件的非零時間間隔(也就是呼叫驅動程式函式時,任何線程的內容都是目前線程的內容)。
NDIS_WAIT_FOR_MUTEX 會檢查 mutex 物件的目前狀態,以判斷是否可以立即滿足等候作業。 如果可立即滿足作業,則會對 mutex 物件進行必要的更新。 否則,目前的線程處於等候狀態,並選取新的線程以在目前的處理器上執行。
這個巨集是 KeWaitForSingleObject 例程的 NDIS 包裝函式。
NDIS_WAIT_FOR_MUTEX 的呼叫端必須在 IRQL == PASSIVE_LEVEL 和非bitrary 線程內容中執行。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
目標平臺 | 普遍 |
標頭 | ndis.h |
IRQL | PASSIVE_LEVEL (請參閱一節) |
DDI 合規性規則 | Irql_Synch_Function(ndis) |