OpenContext.h
上传用户:zhuzhu0204
上传日期:2020-07-13
资源大小:13165k
文件大小:1k
- //OpenContext.h
- /*--------------------------------------------------------------------------------
- OPEN_CONTEXT结构体
- (1) 用户打开一个适配器后,我们就为其句柄关联一个OPEN_CONTEXT结构(驱动模式)
- (2) 其指针保存在pIrp->FileObject->FsContext中
- (3) 可以与ADAPT结构相互访问
- --------------------------------------------------------------------------------*/
- typedef struct _OPEN_CONTEXT
- {
- ULONG RefCount;
- NDIS_SPIN_LOCK Lock;
- BOOLEAN bAdapterClosed;
- // 关联一个适配器
- PADAPT pAdapt;
- // 下面3个为的是处理Oid请求
- NDIS_REQUEST Request;
- NDIS_STATUS RequestStatus;
- NDIS_EVENT RequestEvent;
- // BEGIN_PTEX_FILTER
- ULONG FilterReserved[16]; // 为过滤数据预留的空间 每个打开句柄的过滤相关数据
- // END_PTEX_FILTER
- } OPEN_CONTEXT, *POPEN_CONTEXT;
- //OPEN_CONTEXT结构体对应的函数
- //申请并初始化一个OPEN_CONTEXT结构
- POPEN_CONTEXT DevAllocateOpenContext(PADAPT pAdapt);
- //增加对OPEN_CONTEXT结构的引用计数
- VOID DevDerefOpenContext(POPEN_CONTEXT pOpenContext);
- //减少对OPEN_CONTEXT结构的引用计数
- VOID DevRefOpenContext(POPEN_CONTEXT pOpenContext);