相关疑难解决方法(0)

Detecting SSD in Windows

I would like to change the performance and behaviour of my C++ application, according to whether the system drive is an SSD or not. Example:

  • With SSD, I want my gameserver application to load each map fully, with all objects in order to maximize performance.
  • With HDD, I want my gameserver application to load only the essential objects and entities in each map, with no external objects loaded.

I've seen http://msdn.microsoft.com/en-gb/library/windows/desktop/aa364939(v=vs.85).aspx, which is a way of determining if a …

c++ solid-state-drive

14
推荐指数
6
解决办法
7172
查看次数

如何使用Free Pascal调用物理连接的硬盘列表,或者,如果不这样,Delphi?

这个问题这一次,我问最近,但没有正确的细节......,最后这一次,我在自由帕斯卡论坛问具体....

任何人都可以向我提供指导,示例或某个地方的链接,解释如何使用Free Pascal调用物理连接的硬盘列表,或者,无论如何,Delphi,无论磁盘是否已由操作系统安装或不?我想要实现的屏幕截图中显示了一个示例(此屏幕截图中显示的是另一个软件产品).因此,拉出逻辑卷列表(C:\,E:\ etc)并不是我想要做的.如果磁盘有一个操作系统无法挂载的文件系统,我仍然希望看到列出的物理磁盘.

我强调C\C++\C夏普的例子很丰富,但不是我追求的.我主要需要Free Pascal示例,或者说,失败了,Delphi.

在此输入图像描述

delphi freepascal lazarus

10
推荐指数
1
解决办法
4083
查看次数

获取Windows上的分区列表

目标

我正在将文件系统移植到Windows,并且正在为mounter可执行文件编写更像Windows的界面.此过程的一部分是让用户找到分区并选择驱动器号.最终分区的选择已经导致一些我可以使用打开CreateFile(),open(),fopen()或类似的.

信息

Windows似乎围绕卷的概念展开,这似乎与磁盘不太相似,并且仅适用于已安装的文件系统.

我所拥有的有前途的潜在客户包括:

然而,这些都以卷或其偏移结束,而不是/dev/sda1我所追求的特定于分区的句柄.

这个问题是在一个非常类似的事情之后,我认为是赏金,直到我发现OP是在物理磁盘名称之后,而不是分区.这个答案包含一个强制分区名称的方法,我想避免这种情况(或者查看包含可能路径边界的文档).

我想要:

  • 更正Windows中未安装分区的术语和文档.
  • 一种有效且文档化的方法,可靠地检索所有可用分区.
  • 最接近拟合在Linux作为可用的分区文件的抽象,其中所有的IO被绑定到磁盘打开的分区的适当区域.

Update0

虽然主要目的仍然是打开原始分区,它出现在溶液可以包括第一获取的句柄每个磁盘驱动器,然后使用,反过来,以获得各分区.如何枚举所有磁盘驱动器(即使那些已经没有安装卷的磁盘驱动器)也是必需的.

c c++ windows winapi disk-partitioning

9
推荐指数
2
解决办法
8859
查看次数

如何在C/C++中获取磁盘驱动器序列号

这已经得到了回答,但它是一个C#解决方案.如何在C或C++中执行此操作?

c c++ windows serial-number hard-drive

9
推荐指数
2
解决办法
3万
查看次数

从磁盘编号中检索虚拟磁盘文件名

当我在diskpart中列出虚拟磁盘时:

DISKPART> list vdisk

  VDisk ###  Disk ###  State                 Type       File
  ---------  --------  --------------------  ---------  ----
  VDisk 0    Disk 2    Attached not open     Fixed       C:\Disk.vhd
Run Code Online (Sandbox Code Playgroud)

对我来说有趣的部分是文件名.如果我知道磁盘号,我试图找到相应的函数,它会给我文件名(在File列下).

理想情况下,我会给" \\?\ PhysicalDrive2 ",我会得到" C:\ Disk.vhd "作为结果.

我已经尝试过:

  1. 使用diskpart和解析输出 - 因为它是未记录的格式,它可以随时更改.这不是我所依赖的.
  2. 常规VHD API - 没有函数将磁盘号作为参数.
  3. Microsoft.Storage.Vds.dll - 有一些枚举遍历每个驱动器(例如Service.Providers),但是没有属性/函数可以为我提供源文件的名称.虽然我现在可以确定例如驱动器D:是虚拟驱动器,但我仍然无法知道连接了哪个.vhd文件.

知道哪个功能可能是什么?

c# pinvoke winapi virtual-disk

7
推荐指数
1
解决办法
8138
查看次数

如何确定两个逻辑驱动器是否在Java中的同一物理磁盘上

想象一下带有SSD和HDD的PC。

SSD分为2个分区:C和D。

HDD分为2个分区:E和F。

我需要创建一个方法:

boolean isOnSamePhysicalDrive(String drive1, String drive2);
Run Code Online (Sandbox Code Playgroud)

isOnSamePhysicalDrive(“ C”,“ D”)-> true

isOnSamePhysicalDrive(“ E”,“ F”)-> true

isOnSamePhysicalDrive( “C”, “E”) - >

java hard-drive

7
推荐指数
1
解决办法
86
查看次数

如何使用C应用程序从WMI获取数据?

我有一个纯C应用程序发出IOCTL调用我的适配器驱动程序并显示信息,然而这是使用Visual Developer Studio 5(非托管代码)编译...我需要从我的适配器使用WMI获取一些信息.. ..我的谷歌搜索努力表明,我需要使用COM编写一个C++应用程序来实现与wMI或C#与.NET应用程序的任何形式的通信a)情况确实如此吗?我的C应用程序无法解决问题?b)如果以上是真的,那么我需要进行项目/ wp /工作区设置的最小级别更改是什么?

谢谢索姆

c wmi

6
推荐指数
1
解决办法
8408
查看次数

列出所有物理驱动器(Windows)

如何使用C/C++在Windows计算机上获取所有物理驱动器路径(\\.\ PhysicalDriveX)?

问题的答案建议获取逻辑驱动器号,然后获取与该已安装驱动器对应的物理驱动器.问题是,我想让所有 物理驱动器连接到计算机,包括未安装的驱动器.

其他答案建议从0-15增加一个值并检查是否存在驱动器(\\.\ PhysicalDrive0,\\.\ PhysicalDrive1,...)或调用WMIC列出所有驱动器.[

由于它们似乎可以起作用,因此它们似乎不是最好的方法.有没有一个简单的函数,例如GetPhysicalDrives只返回std::string包含所有物理驱动器路径的向量?

c c++ drives

6
推荐指数
1
解决办法
9495
查看次数

列出我计算机上安装的物理驱动器

可能重复:
如何列出物理磁盘?

什么是列出我计算机上安装的物理驱动器的"最佳方式"(最快)C++方式?有没有一个升级库可以做到这一点?

c++ windows boost hard-drive

3
推荐指数
1
解决办法
1万
查看次数

3
推荐指数
1
解决办法
2741
查看次数