【原创】vegas提示NTDLL.DLL出错的解决办法

ntdll.dll是什么?ntdll.dll出错怎么办?ntdll.dll位置在哪?ntdll.dll下载之后放在哪里?请看本文详解。ntdll.dll下载地址:点击下载


  ntdll.dll文件分析


  ntdll - ntdll.dll - DLL文件信息

  DLL 文件: ntdll 或者 ntdll.dll

  DLL 名称: NT Layer DLL

  描述:

  ntdll.dll是NT操作系统重要的模块。

  路径位置:c:/windows/system32/ntdll.dll

  属于: Windows NT

  系统 DLL文件: 是

  常见错误: File Not Found, Missing File, Exception Errors

  安全等级 (0-5): 0

  间谍软件: 否

  广告软件: 否


  XP的核心dll——ntdll.dll


  打开NTDLL.dll,惊奇的发现原来CRT的许多基本函数居然都是在这里实现的!甚至包括qsort,ceil这样的函数,还有臭名昭著的 strcpy(严格来讲,这只能怪使用者不当心)。堆的释放,进程管理,似乎都是在这。于是,我决定,仔细察看以下它,这1410个函数是做什么的


  用户模式的代码在调用系统内核函数的时候,首先把一个叫做system call number的数放在EAX中,把参数放在其它的寄存器中了。然后调用INT 2E中断。但是大部分应用程序并不需要直接这么做。通常都是在调用kernel32.dll等时由他们来调用INT 2E.


  内核模式的代码,做法稍微有点不同。他们通常调用由NTOSKRNL.EXE导出的NTDLL.dll中Zw开头的那一系列函数,比如 ZwWaitForSingleObject, 反之,如果是用户级代码需要调用内核,就会利用INT 2E调用WaitForSingleObject.对于许多函数的批量调用,你会明显发现 Zw族要比Rtl族效率高很多。


  可惜ntdll.dll中的大部分函数都是undocumented.


  对于一部分得知其定义形式的函数,可以这样调用:


  1.先将NTDLL.DLL读入 LoadLibrary(TEXT(\“NTDLL.dll\”))


  2.利用GetProcAddress 获取其函数入口地址


  3.利用得到的函数指针调用


  蓝屏代码c0000221(ntdll.dll出错)解决方法


  机器出现蓝屏,上面英文显示:


  STOP:c0000221 unknown hard error  \systemroot\system32\ntdll.dll


  解决方法:


  把BIOS里硬盘的UDMA选项改成不是AUTO的


  如何设置UDMA模式:


  BIOS设置页面


  首先,我们进行硬盘的相关设置。选择Integrated Peripherals进入,这一项中包含有硬盘的相关设置选项,其中有SATA Mode、Secondary Master UDMA、Secondary Slave UDMA、SATA1/2、SATA3/4、RAID Enable等几个选项。


  开DX10高材质NTDLL.DLL出错完美解决办法


  32位系统寻址空间是4G,但由于Windows还要分配部分地址给其他设备,比如显存,所以实际可使用内存只有3.3G左右,这个是整个系统的软件能使用的内存,而在当初Windows设计时,没有考虑到现在大内存会如此普及,所以人为的设置了每个程序最大只能使用2G内存,超过2G的部分内存会被系统和其他程序使用,而开启D10 并打上高材质后 客户端内存占用会超过2G,在切换场景时崩溃,NTDLL.DLL的错误就是内存溢出


  如果你愿意冒风险,详细设置步骤如下:


  在开始菜单里使用搜索栏输入cmd,在找到的cmd.exe上右键,选择“以管理员身份运行”


  输入命令


  bcdedit /export “C:\BCDBackup”        这是保存当前的默认设置到C:\BCDBackup文件里


  然后输入


  bcdedit /set IncreaseUserVa 3072     这句才是真正将内存上限增加到3G,如果你只有3G物理内存,可以尝试把3072改成2560 (2.5G)


  最后重启电脑


  如果不幸你的电脑无法启动,请使用安全模式


  在安全模式下,同样使用管理员身份运行cmd,输入


  bcdedit /import “C:\BCDBackup”


  就可以把刚才备份的设置覆盖回去,重新启动以后就复原了


  如果没有备份的话也可以手动输入


  bcdedit /set IncreaseUserVa 2048


  如果将来系统运行不稳定,或者想改回来,也用以上方法,只不过安全模式不是必须的

 

----------------------------------------------

这里是vegas出错提示后的解决办法:

 


  运行


  regsvr32.exe NTDLL.DLL


  不行的话就运行


  rundll32.exe NTDLL.DLL

 

经过测试,可以了..

不知道什么原因..求高手解

 

你可能感兴趣的:(【原创】vegas提示NTDLL.DLL出错的解决办法)