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

Visual C++

  1. //adapt.c
  2. #include "precomp.h"
  3. #pragma hdrstop
  4. #include "iocommon.h"
  5. // 增加对适配器(PADAPT结构)的引用
  6. VOID PtRefAdapter(PADAPT pAdapt)
  7. {
  8.    NdisInterlockedIncrement(&pAdapt->RefCount);
  9. }
  10. // 减小对适配器(PADAPT结构)的引用,如果减为0,则释放它占用的内存
  11. VOID PtDerefAdapter(PADAPT pAdapt) 
  12. {
  13. if(pAdapt == NULL)
  14. return;
  15.  
  16. if(NdisInterlockedDecrement(&pAdapt->RefCount) == 0) // 已经没有代码再引用它了,释放内存
  17. {
  18. MPFreeAllPacketPools (pAdapt);
  19. // BEGIN_PTEX_FILTER
  20.         //
  21. // 反初始化此适配器上的过滤相关数据
  22. //
  23. FltOnDeinitAdapter(pAdapt);
  24. // END_PTEX_FILTER
  25. NdisFreeMemory(pAdapt, 0, 0);
  26. }
  27. }