OpenContext.h
上传用户:zhuzhu0204
上传日期:2020-07-13
资源大小:13165k
文件大小:1k
开发平台:

Visual C++

  1. //OpenContext.h
  2. /*--------------------------------------------------------------------------------
  3. OPEN_CONTEXT结构体
  4. (1) 用户打开一个适配器后,我们就为其句柄关联一个OPEN_CONTEXT结构(驱动模式)
  5. (2) 其指针保存在pIrp->FileObject->FsContext中
  6. (3) 可以与ADAPT结构相互访问
  7. --------------------------------------------------------------------------------*/
  8. typedef struct _OPEN_CONTEXT
  9. {
  10. ULONG RefCount;
  11. NDIS_SPIN_LOCK Lock;
  12. BOOLEAN bAdapterClosed;
  13. // 关联一个适配器
  14. PADAPT pAdapt;
  15. // 下面3个为的是处理Oid请求
  16. NDIS_REQUEST Request;
  17. NDIS_STATUS  RequestStatus;
  18.     NDIS_EVENT   RequestEvent;
  19. // BEGIN_PTEX_FILTER   
  20.     ULONG               FilterReserved[16]; // 为过滤数据预留的空间  每个打开句柄的过滤相关数据
  21. // END_PTEX_FILTER
  22. } OPEN_CONTEXT, *POPEN_CONTEXT;
  23. //OPEN_CONTEXT结构体对应的函数
  24. //申请并初始化一个OPEN_CONTEXT结构
  25. POPEN_CONTEXT DevAllocateOpenContext(PADAPT pAdapt);
  26. //增加对OPEN_CONTEXT结构的引用计数
  27. VOID DevDerefOpenContext(POPEN_CONTEXT pOpenContext);
  28. //减少对OPEN_CONTEXT结构的引用计数
  29. VOID DevRefOpenContext(POPEN_CONTEXT pOpenContext);