Jackaroo_lzh
驱动牛犊
驱动牛犊
  • 注册日期2003-10-02
  • 最后登录2004-08-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1671回复:2

关于NdisSend的问题!

楼主#
更多 发布于:2003-11-04 10:02
    在MPSend结束后会调用PtSendComplete,如果我在PtReceive中使用了NdisSend的话,它还会自动调用PtSendComplete吗?
    谢谢大虾帮忙!
bangh
驱动牛犊
驱动牛犊
  • 注册日期2003-03-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望75点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-11-04 10:05
当然
mpsend 其中调用了 PTSENDCOMPLETE 的原因也是由于调用了.
ndissend  .

你可以了解成 complete 是由于 ndissend 调用的结果.
overlook
驱动牛犊
驱动牛犊
  • 注册日期2003-11-08
  • 最后登录2003-11-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-08 21:17
NdisSend是一个异步调用的函数,这点可以在DDK的文档中看出来。

NdisSend forwards a send request to the underlying driver.

VOID
  NdisSend(
    OUT PNDIS_STATUS  Status,
    IN NDIS_HANDLE  NdisBindingHandle,
    IN PNDIS_PACKET  Packet
    );
Parameters
Status
Pointer to a caller-supplied variable that is set on return from this function. The underlying driver determines which NDIS_STATUS_XXX is returned, but it is usually one of the following values:
NDIS_STATUS_SUCCESS
The given packet is being transmitted over the network.
NDIS_STATUS_PENDING
The request is being handled asynchronously, and the caller\'s ProtocolSendComplete function will be called when it is completed.

  
 
当status == NDIS_STATUS_PENDING是,driver需要在包发完以后通过调用ProtocolSendComplete()产生的IRP来通知发包的完成。
游客

返回顶部