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

Visual C++

  1. ///////////////////////////////////////////////////////
  2. // PTEXTEND.h文件
  3. #ifndef __PTEXTEND__H
  4. #define __PTEXTEND__H
  5. /*
  6. // 用户打开一个适配器后,我们就为其句柄关联一个OPEN_CONTEXT结构,
  7. // 结构指针保存在FileObject的FsContext域中
  8. typedef struct _OPEN_CONTEXT
  9. {
  10. ULONG RefCount;
  11. NDIS_SPIN_LOCK Lock;
  12. BOOLEAN bAdapterClosed;
  13. PADAPT pAdapt;
  14. // 下面3个为的是处理Oid请求
  15. NDIS_REQUEST Request;
  16. NDIS_STATUS  RequestStatus;
  17.     NDIS_EVENT   RequestEvent;
  18. // BEGIN_PTEX_FILTER
  19.     // 为过滤数据预留的空间  每个打开句柄的过滤相关数据
  20.     // Per-Open-Handle Filter-Specific Area
  21.     //
  22.     ULONG               FilterReserved[16];
  23. // END_PTEX_FILTER
  24. } OPEN_CONTEXT, *POPEN_CONTEXT;
  25. */
  26. /////////////////////////////////////////////
  27. // 下面是一些自定义函数的声明
  28. NTSTATUS DevClose(PDEVICE_OBJECT pDeviceObject, PIRP pIrp);
  29. NTSTATUS DevCleanup(PDEVICE_OBJECT    pDeviceObject,PIRP pIrp);
  30. NTSTATUS DevOpen(PDEVICE_OBJECT pDeviceObject, PIRP pIrp);
  31. NTSTATUS DevIoControl(PDEVICE_OBJECT pDeviceObject, PIRP pIrp);
  32. NTSTATUS FltDevIoControl(PDEVICE_OBJECT pDeviceObject, PIRP pIrp);
  33. NTSTATUS DevHandleOidRequest(PDEVICE_OBJECT pDeviceObject, PIRP pIrp);
  34. VOID DevRequestComplete(PADAPT pAdapt, PNDIS_REQUEST NdisRequest,NDIS_STATUS Status);
  35. /*
  36. VOID PtRefAdapter(PADAPT pAdapt);
  37. VOID PtDerefAdapter(PADAPT pAdapt);
  38. POPEN_CONTEXT DevAllocateOpenContext(PADAPT pAdapt);
  39. VOID DevDerefOpenContext(POPEN_CONTEXT pOpenContext);
  40. VOID DevRefOpenContext(POPEN_CONTEXT pOpenContext) ;
  41. */
  42. NTSTATUS DevGetBindingList(PVOID Buffer,ULONG Length,PULONG DataLength);
  43. PADAPT LookupAdaptByName(PUCHAR pNameBuffer, ULONG nNameLength);
  44. #endif // __PTEXTEND__H