zoukankan      html  css  js  c++  java
  • STATUS_MUTANT_NOT_OWNED

    [关键词]:MUTEX,完成例程,

    [状况]:驱动IoCallDirver之前先WaitForSingleObject以获取MUTEX,然后设置完成例程。在完成例程里ReleaseMutex,系统蓝屏。

    [原因]:“A mutex object can be released only by the thread that currently holds the mutex. ”获取MUTEX的线程和完成例程中试图释放MUTEX的线程不是同一个。

    [Debug过程]:略

    [DUMP]: 部分

                SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
                This is a very common bugcheck.  Usually the exception address pinpointsthe driver/function that caused the problem.         Always note this address as well as the link date of the driver/image that contains this address.
              Arguments:
              Arg1: c0000046, The exception code that was not handled
              Arg2: 808255e9, The address that the exception occurred at
              Arg3: ba57b964, Exception Record Address
              Arg4: ba57b9b4, Context Record Address

    附ntstatus.h中的错误说明:

    //
    // MessageId: STATUS_MUTANT_NOT_OWNED
    //
    // MessageText:
    //
    //  An attempt to release a mutant object was made by a thread that was not the owner of the mutant object.
    //
    #define STATUS_MUTANT_NOT_OWNED          ((NTSTATUS)0xC0000046L)


  • 相关阅读:
    IBM Minus One(water)
    约瑟夫问题的循环链表实现
    双向链表(差不多)
    单向链表的建立,插入,删除(复习一下)
    找新朋友(欧拉函数)
    验证角谷猜想(hd1279)
    Wolf and Rabbit(gcd)
    Big Number(大数)
    字串数(高精度组合数)
    寻找素数对(hd1262)
  • 原文地址:https://www.cnblogs.com/bugchecker/p/3041605.html
Copyright © 2011-2022 走看看