马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
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;
} |