| 
 | 
 
 
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册  
 
×
 
baseVa = MmGetMdlVirtualAddress(pIrp->MdlAddress + pDevExt->ReadOffset); 
//主要是下面的这一行代码的意思不知道,请问如何理解啊? 
    if( 
status = pDevExt->pReadAdapter->DmaOperations->GetScatterGatherList(pDevExt->pReadAdapter,  
                                                                   pDeviceObject, 
                                                                   pIrp->MdlAddress, 
                                                                   baseVa, 
                                                                   pDevExt->ReadLength, 
                                                                   ReadAdapterControl, 
                                                                   pIrp, 
                                                                   TRUE)// transfer to device from buffer 
        != STATUS_SUCCESS) 
    { 
            KdPrint(("XXXXXXX.sys: StartDMARead - GetScatterGatherList failed\n")); 
             
            pIrp->IoStatus.Status = status; 
            pIrp->IoStatus.Information = 0; 
             
            // Complete the request now 
            IoCompleteRequest(pIrp, IO_NO_INCREMENT); 
            return status; 
    } |   
 
 
 
 |