问题描述
当我调用驱动程序加载的函数时,一切正常,但是 当我从 dll 调用函数时,我得到 STATUS_ACCESS_VIOLATION
我尝试将建筑物复制到位于驱动程序中的新建筑物,但仍然没有帮助
这里是代码先试试
processinformation = ExAllocatePool(NonPagedPool,args->ProcessinformationLength);
if (!processinformation) {
ObDereferenceObject(process);
return STATUS_INSUFFICIENT_RESOURCES;
}
KeAttachProcess((PKPROCESS)process);
KeEnterCriticalRegion();
KPROCESSOR_MODE prevIoUsMode = KeSetPrevIoUsMode(KernelMode);
status = NtQueryinformationProcess(
NtCurrentProcess(),args->ProcessinformationClass,processinformation,args->ProcessinformationLength,&returnLength
);
KeSetPrevIoUsMode(prevIoUsMode);
KeLeaveCriticalRegion();
KeDetachProcess();
ObDereferenceObject(process);
这是第二次尝试
processinformation = ExAllocatePool(NonPagedPool,args->ProcessinformationLength);
if (!processinformation) {
ObDereferenceObject(process);
return STATUS_INSUFFICIENT_RESOURCES;
}
KeAttachProcess((PKPROCESS)process);
KeEnterCriticalRegion();
KPROCESSOR_MODE prevIoUsMode = KeSetPrevIoUsMode(KernelMode);
status = NtQueryinformationProcess(
NtCurrentProcess(),ProcessBasicinformation,sizeof(PROCESS_BASIC_informatION),&returnLength
);
KeSetPrevIoUsMode(prevIoUsMode);
KeLeaveCriticalRegion();
KeDetachProcess();
ObDereferenceObject(process);
有人知道如何帮助我
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)