您的位置:首页 > 其它

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

2009-12-15 10:23 281 查看
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

经过测试,可以了..

不知道什么原因..求高手解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐