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;

}

本文出自 “千江月” 博客,请务必保留此出处http://eslxf.blog.51cto.com/918801/210890