Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1458841
  • 博文数量: 596
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 173
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-06 15:50
个人简介

在线笔记

文章分类

全部博文(596)

文章存档

2016年(1)

2015年(104)

2014年(228)

2013年(226)

2012年(26)

2011年(11)

分类: Windows平台

2014-05-29 15:56:51

%28v=vs.85%29.aspx

  1. The PAGED_CODE macro ensures that the calling thread is running at an IRQL that is low enough to permit paging.
  2. Syntax
  3. C++


  4. VOID PAGED_CODE(void);

  5. Parameters

  6. This macro has no parameters.
  7. Return value

  8. None
  9. Remarks

  10. If the IRQL > APC_LEVEL, the PAGED_CODE macro causes the system to ASSERT.
  11. IRQ级别大于APC_LEVEL时,导致系统挂起,对IRQL的分析请见“IRQL APC_LEVEL and APC  ”
    (http://blog.163.com/hao_dsliu/blog/static/131578908201373171111173/)

  12. A call to this macro should be made at the beginning of every driver routine that either contains pageable code or accesses pageable code.
  13. 在函数开头使用,即在变量定义之后使用

  14. /* Video Miniport Driver entry point */
    ULONG DriverEntry(IN PVOID Context1, IN PVOID Context2)
    {
        PAGED_CODE();

    }

  15. The PAGED_CODE macro checks the IRQL only at the point at which the driver code executes the macro. If the code subsequently raises the IRQL, the macro will not detect this change. Driver developers should use Static Driver Verifier and Driver Verifier to detect when the IRQL is raised improperly during the execution of a driver routine.

  16. The PAGED_CODE macro works only in checked builds.
  17. 只在check版本有效

阅读(1459) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~