文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>深度剖析WinPcap之(八)——打开与关..

深度剖析WinPcap之(八)——打开与关..

时间:2010-09-05  来源:runhook

1.6.4       NPF_Cleanup函数

函数关闭一个驱动程序实例,当一个正在运行的驱动程序实例被用户调用CloseHandle()关闭时,该函数被调用(响应IRP_MJ_CLOSE)。它停止捕获/监视/转储过程,在NPF_CloseBinding函数种调用NdisCloseAdapter函数关闭网络适配器。接着调用NPF_CloseOpenInstance函数释放与该实例相关的内存与资源。
函数原型如下:
NTSTATUS
NPF_Cleanup(
    IN PDEVICE_OBJECT DeviceObject,
    IN PIRP Irp
    );
参数DeviceObject指向用户使用的设备对象。参数Irp指向包含用户请求的IRP。函数返回操作的状态。
函数的主要代码如下:
NTSTATUS
NPF_Cleanup(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp)
{
 
    POPEN_INSTANCE    Open;
    NDIS_STATUS     Status;
    PIO_STACK_LOCATION  IrpSp;
    LARGE_INTEGER ThreadDelay;
    ULONG localNumOpenInstances;
 
    IrpSp = IoGetCurrentIrpStackLocation(Irp);
 
    Open = IrpSp->FileObject->FsContext;
    ASSERT(Open != NULL);
 
    if (Open->ReadEvent != NULL)
        KeSetEvent(Open->ReadEvent,0,FALSE);
 
/*释放调用
排行榜 更多 +
方块枪战战场安卓版

方块枪战战场安卓版

飞行射击 下载
战斗火力射击安卓版

战斗火力射击安卓版

飞行射击 下载
空中防御战安卓版

空中防御战安卓版

飞行射击 下载