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) |