代码之家  ›  专栏  ›  技术社区  ›  Stowelly

VirtualAlloc在硬盘的某些配置上出现故障

  •  1
  • Stowelly  · 技术社区  · 17 年前

    由于某种原因,在我的应用程序上,当运行在硬盘的某些配置(RAID、随机分区,通过单独的IDE控制器,而不是在操作系统分区上)时, VirtualAlloc null GetLastError ERROR_INVALID_PARAMETER .

    除标志之外的唯一参数 (MEM_COMMIT | MEM_TOP_DOWN, PAGE_READWRITE) 传入的大小是从磁盘几何体获得的扇区大小的倍数(不幸的是,由于NDA等原因,我无法发布代码)。

    1 回复  |  直到 17 年前
        1
  •  0
  •   Stowelly    17 年前

    问题是当试图返回IOCTL\u DISK\u GET\u DRIVE\u几何体在使用主hdd以外的任何东西时似乎返回了完全的垃圾时,DeviceIoControl出现了问题,我通过使用GetDiskFreeSpace来获取扇区信息解决了这一问题,并且一切正常