这段时间想写一个RAMDISK,参考了不少网上的文章,和新版的WDK的RAMDISK示例,都是要额外加DLL文件的,很不爽。
其实微软早期(WDK)之前,出过RAMDISK的示例,编译好后就能使用,而且兼容性非常好,到现在的WIN7还能使用。
这个早期的示例很好,只有一个问题,编译后产生的RAMDISK不能超过32M…………
翻阅了不少文章,发现问题所在,总结一下:
问题所在:
其限制是在RAMDISK.H文件里的一个结构定义上
typedef struct _BOOT_SECTOR
{
UCHAR bsJump[3]; // x86 jmp instruction, checked by FS
CCHAR bsOemName[8]; // OEM name of formatter
USHORT bsBytesPerSec; // Bytes per Sector
UCHAR bsSecPerClus; // Sectors per Cluster
USHORT bsResSectors; // Reserved Sectors
UCHAR bsFATs; // Number of FATs - we always use 1
USHORT bsRootDirEnts; // Number of Root Dir Entries
USHORT bsSectors; // Number of Sectors
UCHAR