physicaldrive0是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了physicaldrive0是啥?相关的知识,希望对你有一定的参考价值。

载录的:
由于"\"是C/C+中转义符, "\\\\.\\"就相当于\\.\

在Windows中 \\.\ 前缀用于标识设备,其中的"."表示本地计算机。

比如\\.\PhysicalDrive0表示本机的物理驱动器0(一般是主硬盘),
\\.\COM1表示本机的1号串行口
\\computer01\PhysicalDrive1表示网络中计算机computer01的物理驱动器1,等等。

你可以用CreateFile函数打开\\.\PhysicalDrive0
然后用ReadFile, WriteFile来直接读写本机硬盘扇区
用DeviceIoControl来获取硬盘的信息(扇区数,磁头数,柱面数)等。

亦可用CreateFile打开卷,如\\.\C:即是C盘。

若你对windows内核有点了解,事实上\\.\就相当于NT对象目录中的\??\目录
其中包含了所有提供给Win32程序的设备对象,你可用winobj来查看。
参考技术A

physicaldrive0表示本机的物理驱动器0。

一、由于"\\"是C/C+中转义符, "\\\\\\\\.\\\\"就相当于\\\\.\\在Windows中 \\\\.\\ 前缀用于标识设备,其中的"."表示本地计算机。比如\\\\.\\PhysicalDrive0表示本机的物理驱动器0(一般是主硬盘),
\\\\.\\COM1表示本机的1号串行口。

二、\\\\computer01\\PhysicalDrive1表示网络中计算机computer01的物理驱动器1,可以用CreateFile函数打开\\\\.\\PhysicalDrive0,然后用ReadFile, WriteFile来直接读写本机硬盘扇区用DeviceIoControl来获取硬盘的信息(扇区数,磁头数,柱面数)等。亦可用CreateFile打开卷,如\\\\.\\C:即是C盘。

三、OPEN_ALWAYS改成OPEN_EXISTING,在Vista/win7上用管理员权限启动编译好的程序,或者以管理员权限启动VS。

四、事实上\\\\.\\就相当于NT对象目录中的\\??\\目录其中包含了所有提供给Win32程序的设备对象,可用winobj来查看。

参考技术B

载录的:

由于"\\"是C/C+中转义符, "\\\\\\\\.\\\\"就相当于\\\\.\\

在Windows中 \\\\.\\ 前缀用于标识设备,其中的"."表示本地计算机。

比如\\\\.\\PhysicalDrive0表示本机的物理驱动器0(一般是主硬盘),

\\\\.\\COM1表示本机的1号串行口

\\\\computer01\\PhysicalDrive1表示网络中计算机computer01的物理驱动器1,等等。

你可以用CreateFile函数打开\\\\.\\PhysicalDrive0

然后用ReadFile, WriteFile来直接读写本机硬盘扇区

用DeviceIoControl来获取硬盘的信息(扇区数,磁头数,柱面数)等。

亦可用CreateFile打开卷,如\\\\.\\C:即是C盘。

若你对windows内核有点了解,事实上\\\\.\\就相当于NT对象目录中的\\??\\目录

其中包含了所有提供给Win32程序的设备对象,你可用winobj来查看。

如何通过程序删除磁盘的设备节点

【中文标题】如何通过程序删除磁盘的设备节点【英文标题】:How to delete a device node of disk by program 【发布时间】:2019-08-20 05:13:41 【问题描述】:

我正在开发从 Windows 系统中删除指定磁盘的 Windows 程序。 “移除”的动作并不意味着“物理地”拔掉硬盘。 这意味着程序从操作系统管理的设备节点中删除了一个磁盘。 我所说的“磁盘”是由 disk.sys(PhysicalDrive0, PhysicalDrive1..) 管理的磁盘

顺便说一下,在普通的Linux系统上,可以通过如下命令来完成。

echo 1 > /sys/block/sde/device/delete

我想通过程序在 Windows 上做同样的事情。

一旦我尝试通过在 DeviceManager 中删除磁盘来做到这一点。 实际上这种方法可以删除USB磁盘,但这种方法无法在不重新启动操作系统的情况下删除SATA磁盘。 我想在不重新启动的情况下执行此操作。

有什么办法吗?

【问题讨论】:

【参考方案1】:

我相信WMI 可能会对您有所帮助:

wmic logicaldisk delete (check with /? how to use it)

为了知道你现在有哪些,首先启动以下:

wmic logicaldisk list brief

【讨论】:

感谢您的帮助!我不知道。但是wmic logicaldisk 似乎管理卷(C:,D:) 和wmic diskdrive 似乎对应于我说的“磁盘”。所以我尝试执行这个命令。 wmic diskdrive where DeviceID="\\\\.\\PHYSICALDRIVE2" delete 但是没有正常完成(发生错误) 虽然在我的环境中错误信息不是英文,但表示该操作不被提供者支持。 一般WMIC 命令从命令提示符启动。您是否以管理员身份启动了命令提示符?

以上是关于physicaldrive0是啥?的主要内容,如果未能解决你的问题,请参考以下文章

PAT是啥?

physx是啥

physx是啥软件

为啥physical是down ENSP

unity Physics/Physics2DProjectSettings中LayerCollisionMatrix的存储方式

Mybatis Physical Pagination