深度剖析WinPcap之(八)——打开与关..
时间:2010-09-05 来源:runhook
1.6.3.3 NPF_RequestComplete函数
函数结束一个OID请求,是NDIS函数NdisRequest所关联的回调函数。当NIC驱动程序完成一个OID请求操作(如在NPF_GetDeviceMTU或NPF_IoControl中调用NdisRequest开始请求操作)后被NDIS调用。函数原型如下:
VOID
NPF_RequestComplete(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_REQUEST NdisRequest,
IN NDIS_STATUS Status
)
参数ProtocolBindingContext为函数的上下文,包含一个指向与当前实例关联的OPEN_INSTANCE结构体指针。参数NdisRequest为指向该已完成OID请求的指针。参数Status为请求操作的状态。
函数的主要代码如下:
VOID
NPF_RequestComplete(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_REQUEST NdisRequest,
IN NDIS_STATUS Status
)
{
PINTERNAL_REQUEST pRequest;
pRequest = CONTAINING_RECORD(NdisRequest,INTERNAL_REQUEST,Request);
//设置请求结果
pRequest->RequestStatus = Status;
//唤醒调用者
NdisSetEvent(&pRequest->InternalRequestCompletedEvent);
return;
}
相关阅读 更多 +