IOCTL_DISK_GET_PARTITION_INFO_EX用法
时间: 2023-08-31 08:12:37 浏览: 303
`IOCTL_DISK_GET_PARTITION_INFO_EX` 是一个 Windows API 函数,用于检索磁盘分区的信息。该函数的主要作用是获取指定磁盘分区的详细信息,包括分区的类型、分区的起始位置、分区的大小等。
下面是 `IOCTL_DISK_GET_PARTITION_INFO_EX` 函数的用法示例:
```c++
#include <Windows.h>
#include <winioctl.h>
BOOL GetPartitionInfoEx(HANDLE hDevice, PARTITION_INFORMATION_EX* partitionInfo)
{
DWORD dwBytesReturned = 0;
BOOL bResult = FALSE;
bResult = DeviceIoControl(hDevice, IOCTL_DISK_GET_PARTITION_INFO_EX,
NULL, 0, partitionInfo, sizeof(PARTITION_INFORMATION_EX),
&dwBytesReturned, NULL);
if (!bResult)
{
printf("DeviceIoControl failed with error %d\n", GetLastError());
return FALSE;
}
return TRUE;
}
```
在上述代码中,`IOCTL_DISK_GET_PARTITION_INFO_EX` 函数被调用时,需要传入以下参数:
- `hDevice`:要查询的磁盘的句柄。
- `partitionInfo`:一个 `PARTITION_INFORMATION_EX` 结构体指针,用于存储分区信息。
如果函数执行成功,则返回 `TRUE`,并且分区信息将被存储在 `partitionInfo` 结构体中。否则,函数返回 `FALSE`,并且可以通过 `GetLastError()` 函数获取错误码。
需要注意的是,使用 `IOCTL_DISK_GET_PARTITION_INFO_EX` 函数需要管理员权限。
阅读全文