共用方式為


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)

另請參閱

KeWaitForSingleObject

NDIS_INIT_MUTEX

NDIS_RELEASE_MUTEX