NDIS_WAIT_FOR_MUTEX宏 (ndis.h)

NDIS_WAIT_FOR_MUTEX 宏将当前线程置于等待状态,直到指定的互斥体对象设置为信号状态。

语法

void NDIS_WAIT_FOR_MUTEX(
  _M_
);

参数

_M_

指向初始化的NDIS_MUTEX类型互斥体对象的指针。 调用方在对 NDIS_INIT_MUTEX 宏的先前调用中初始化了互斥体对象。 NDIS_MUTEX是 KMUTEX 类型的包装器。

返回值

如果作成功完成,NDIS_WAIT_FOR_MUTEX 返回STATUS_SUCCESS。 否则,它将返回适当的 NTSTATUS 错误代码。

言论

NDIS 网络驱动程序应使用 NDIS_WAIT_FOR_MUTEX 宏等待互斥体转换为信号状态。

驱动程序无法等待在引发 IRQL 的互斥对象或 任意线程上下文中等待非零时间间隔(即调用驱动程序函数时任何线程的上下文)。

NDIS_WAIT_FOR_MUTEX 检查互斥体对象的当前状态,以确定是否可以立即满足等待作。 如果可以立即满足该作,则对互斥对象进行必要的更新。 否则,当前线程处于等待状态,并且已选择新线程以便在当前处理器上执行。

此宏是 KeWaitForSingleObject 例程的 NDIS 包装器。

NDIS_WAIT_FOR_MUTEX 的调用方必须在 IRQL == PASSIVE_LEVEL 和非比特线程上下文中运行。

要求

要求 价值
最低支持的客户端 NDIS 6.0 及更高版本中受支持。
目标平台 普遍
标头 ndis.h
IRQL PASSIVE_LEVEL(请参阅“备注”部分)
DDI 符合性规则 Irql_Synch_Function(ndis)

另请参阅

KeWaitForSingleObject

NDIS_INIT_MUTEX

NDIS_RELEASE_MUTEX