justforask
驱动牛犊
驱动牛犊
  • 注册日期2009-12-26
  • 最后登录2010-02-12
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望101点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2314回复:2

HOOK NDIS,如何初始化并获得ProtocolBindingContext ?

楼主#
更多 发布于:2009-12-31 10:15
HOOK NDIS,如何初始化并获得ProtocolBindingContext ?

主要用来作为后面NdisSend参数.
justforask
驱动牛犊
驱动牛犊
  • 注册日期2009-12-26
  • 最后登录2010-02-12
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望101点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-12-31 10:20
又或者直接使用

SendHandler;(IN    NDIS_HANDLE MacBindingHandle,IN    PNDIS_PACKET Packet) ?

如果这样的话,MacBindingHandle又如何获得呢
ceabie
驱动牛犊
驱动牛犊
  • 注册日期2006-08-23
  • 最后登录2010-07-21
  • 粉丝0
  • 关注0
  • 积分599分
  • 威望140点
  • 贡献值0点
  • 好评度59点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2010-04-17 19:36
ProtocolBindingContext是各个协议自己定义的,取得它也没用。
你可以看看NdisSend的定义,它调用OpenBlock中的SendHandler。
比如OpenBlock是你Hook的,那么发送时就可以这样:
OpenBlock->SendHandler(OpenBlock->BindingHandle, packet);
注意,如果packet是你自己构造的,那么packet->ProtocolReserved必须是你自己定义的,并能够在
SendCompleteHandler(这个也要hook)中够分辨出这个packet,并把它销毁,它不能再往上传。
XeChini
游客

返回顶部