网上看到的DisableWriteProtect和EnableWriteProtect这两个函数的实现有问题吗?
程序代码:
VOID DisableWriteProtect(PULONG pOldAttr) { ULONG uAttr; _asm { push eax mov eax, cr0 mov uAttr, eax and eax, 0FFFEFFFFh // CR0 16 BIT = 0 mov cr0, eax pop eax }; *pOldAttr = uAttr; //保存原有的 CRO 属性 } VOID EnableWriteProtect(ULONG uOldAttr ) { _asm { push eax mov eax, uOldAttr //恢复原有 CR0 属性 mov cr0, eax pop eax }; }网上看到的DisableWriteProtect和EnableWriteProtect这两个函数的实现有问题吗?为什么我使用VC6.0编译错误呢?
这个是在 http://hi.baidu.com/chinbey/blog/item/725de0ae35f042cb7cd92ac5.html上看到的