2014-06-06:IOCTL_STORAGE_GET_DEVICE_NUMBER获取磁盘信息如磁盘号、磁盘类型、分区号

2023-11-14

#include <WINDOWS.H>
#include <TCHAR.H>
#include <IOSTREAM.H>

#define DD_TM_DETECTDISKSUCCESS		0
#define DD_TM_LACKPARAMETERERROR	1
#define DD_TM_GETHANDLEFAILERROR	2
#define DD_TM_GETDISKINFOFAILERROR	3

int _tmain(int argc,TCHAR **argv)
{
	if (argc<2)
	{
		return DD_TM_LACKPARAMETERERROR ;
	}
	HANDLE	hDevice = NULL ;
	LPSTR	lpDevicePath = NULL ;
	BOOL	bResult = FALSE;
	STORAGE_DEVICE_NUMBER sdn;
	DWORD	dwReturned = 0 ;

	lpDevicePath = (LPSTR)malloc(sizeof(TCHAR)*261);
	wsprintf(lpDevicePath,TEXT("\\\\.\\PhysicalDrive%d"),argv[1][0]-TEXT('0'));

	cout<<lpDevicePath<<endl;
	hDevice = CreateFile(lpDevicePath,
							GENERIC_READ | GENERIC_WRITE,
							FILE_SHARE_READ | FILE_SHARE_WRITE ,
							NULL,
							OPEN_EXISTING,
							FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED ,
							hDevice);
	if (hDevice==NULL)
	{
		cout<<"Getting Handle failed!"<<endl;
	
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2014-06-06:IOCTL_STORAGE_GET_DEVICE_NUMBER获取磁盘信息如磁盘号、磁盘类型、分区号 的相关文章

  • 复杂网络博弈:用matlab实现囚徒困境

    复现方格网下囚徒困境博弈程序 分别画出b 0 8 2之间 以0 2为间隔的 均衡状态下的网络快照 及合作者比例变化图 设置囚徒困境博弈参数 b values 0 8 0 2 2 0 合作者得到的收益相对于双方都不合作时的收益的比例 N 20
  • 单个el-form-item中有多个必填

    element ui组件里的el form设置为必填都是一对一的 而一个里面包含多个选择框或输入框的却无法实现 怕自己说不清楚 附一张图吧 图中 下发周期 是一个el form item的label名 下面的都包含在里面 设置必填使二者都生
  • 如何在知乎上进行markdown创作?

    前言 废话 题主和大家一样 也是苦苦找不到解决办法 中到有一天 偶然看到一款神器 方才完成由猴到人的蜕变 话不多说 直接上教程 404警告 本猿写教程一向很结构化 看不懂就留言吧 1 正文 如何在知乎上进行markdown创作 所需工具 已
  • LVS+Web

    一 LVS NAT模式 1 根据拓扑图搭建好实验环境 拓扑如下 2 rhel1配置 1 编译ipvsadm源码包 2 ipvsadm配置与启动 3 查看ipvsadm配置 4 开启内核路由转发 vim etc sysctl conf 修改如

随机推荐