驱动和应用共享内存

来源:互联网 发布:单片机的类型 编辑:程序博客网 时间:2024/05/29 10:47
pOutBuf = Irp->AssociatedIrp.SystemBuffer;
pSysAddr = DeviceObject->DeviceExtension;
pMdl = IoAllocateMdl(pSysAddr,10,FALSE,FALSE,NULL);
if(NULL == pMdl){
    status = STATUS_UNSUCCESSFUL;
    break;
}

MmBuildMdlForNonPagedPool(pMdl);
*(ULONG*)POutBuf = MmMapLockedPagesSpecifyCate( pMdl,
                                                UserMode,
                                                MmNonCached,
                                                NULL,
                                                FALSE,
                                                NormalPagePriority
                                                );
if(NULL == *(ULONG*)pOutBuf)
{
    status = STATUS_UNSUCCESSFUL;
    IoFreeMdl(pMdl);
    break;
}
0 0
原创粉丝点击