WEB开发网
开发学院操作系统windows 2008 深度剖析WinPcap之(六)——驱动程序的初始化与清除... 阅读

深度剖析WinPcap之(六)——驱动程序的初始化与清除

 2009-09-11 00:00:00 来源:WEB开发网   
核心提示:驱动程序的初始化主要由函数DriverEntry完成,卸载主要由函数DriverUnload完成,深度剖析WinPcap之(六)——驱动程序的初始化与清除,下面主要分析驱动程序的初始化与清除过程,以及相关的基础知识,图5-1 函数调用关系图1.1 结构体_NDIS_PROTOCOL_CHARACTERISTICS结构体

驱动程序的初始化主要由函数DriverEntry完成,卸载主要由函数DriverUnload完成。下面主要分析驱动程序的初始化与清除过程,以及相关的基础知识。

深度剖析WinPcap之(六)——驱动程序的初始化与清除 (1)

图5-1 函数调用关系图

1.1 结构体_NDIS_PROTOCOL_CHARACTERISTICS

结构体_NDIS_PROTOCOL_CHARACTERISTICS的定义如下:

typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
UCHAR MajorNdisVersion;
UCHAR MinorNdisVersion;
UINT Reserved;
OPEN_ADAPTER_COMPLETE_HANDLER OpenAdapterCompleteHandler;
CLOSE_ADAPTER_COMPLETE_HANDLER CloseAdapterCompleteHandler;
SEND_COMPLETE_HANDLER SendCompleteHandler;
TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler;
RESET_COMPLETE_HANDLER ResetCompleteHandler;
REQUEST_COMPLETE_HANDLER RequestCompleteHandler;
RECEIVE_HANDLER ReceiveHandler;
RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler;
STATUS_HANDLER StatusHandler;
STATUS_COMPLETE_HANDLER StatusCompleteHandler;
NDIS_STRING Name;
//
//使用下列任何成员,需要把MajorNdisVersion设置为0x04或0x05
//
RECEIVE_PACKET_HANDLER ReceivePacketHandler;
BIND_HANDLER BindAdapterHandler;
UNBIND_HANDLER UnbindAdapterHandler;
PNP_EVENT_HANDLER PnPEventHandler;
UNLOAD_PROTOCOL_HANDLER UnloadHandler;
//
//使用下列任何成员,需要把MajorNdisVersion设置为0x05
//面向连接的协议驱动程序使用,不分析。
//
CO_SEND_COMPLETE_HANDLER CoSendCompleteHandler;
CO_STATUS_HANDLER CoStatusHandler;
CO_RECEIVE_PACKET_HANDLER CoReceivePacketHandler;
CO_AF_REGISTER_NOTIFY_HANDLER CoAfRegisterNotifyHandler;
} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;

1 2 3 4 5 6  下一页

Tags:深度 剖析 WinPcap

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接