获取一个路径所在存储设备的属性
来源:互联网 发布:软件测试资格认证 编辑:程序博客网 时间:2024/06/06 15:02
BOOLGetPropertyOfDeviceOrAdapter(IN LPTSTR lpFileName){STORAGE_BUS_TYPERet= BusTypeUnknown; TCHARFileSymName[MAX_PATH * 2]= {0}; TCHARVolumeSymName[10]= {0}; HANDLEhVolume= INVALID_HANDLE_VALUE;STORAGE_PROPERTY_QUERYQuery; STORAGE_DEVICE_DESCRIPTORdevDescriptor= {0}; BOOLbResult= FALSE; DWORDdwBytesReturned= 0;__try{ZeroMemory(&Query, sizeof(STORAGE_PROPERTY_QUERY));if (!lpFileName){printf("[GetPropertyOfDeviceOrAdapter] : input parameter error \n");__leave;}_tcscat_s(FileSymName, MAX_PATH * 2, _T("\\\\.\\"));_tcscat_s(FileSymName, MAX_PATH * 2, lpFileName);CopyMemory(VolumeSymName, FileSymName, 5 * sizeof(TCHAR));_tcscat_s(VolumeSymName, 10, _T(":"));hVolume = CreateFile(VolumeSymName,SYNCHRONIZE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);if (hVolume == INVALID_HANDLE_VALUE){printf("[GetPropertyOfDeviceOrAdapter] : CreateFile failed. (%d) \n", GetLastError());__leave;}Query.PropertyId = StorageDeviceProperty;Query.QueryType = PropertyStandardQuery;devDescriptor.Size = sizeof(STORAGE_DEVICE_DESCRIPTOR);bResult = DeviceIoControl(hVolume,IOCTL_STORAGE_QUERY_PROPERTY,&Query,sizeof(STORAGE_PROPERTY_QUERY),&devDescriptor,devDescriptor.Size,&dwBytesReturned,NULL);if (!bResult){printf("[GetPropertyOfDeviceOrAdapter] : DeviceIoControl failed. (%d) \n", GetLastError());__leave;}Ret = devDescriptor.BusType;}__finally{if (hVolume != INVALID_HANDLE_VALUE)CloseHandle(hVolume);}return Ret;}
0 0
- 获取一个路径所在存储设备的属性
- 获取一个路径所在硬盘驱动器的类型
- 获取到存储设备所在的总线类型(转载)
- 获取全部存储设备路径
- C#获取当前应用程序所在的路径
- C#获取当前应用程序所在的路径
- C#获取当前应用程序所在的路径
- 获取当前应用程序所在目录的路径
- 获取进程所在的exe路径
- C#获取程序所在的路径
- C#获取当前应用程序所在的路径
- 获取java文件所在的路径
- 获取.EXE可执行文件所在的目录路径
- C#获取当前应用程序所在的路径
- C#获取当前应用程序所在的路径
- JS获取自身所在文件的路径
- 获取javaweb项目所在目录的路径
- 获取程序所在的文件夹路径
- Java多线程编程(五)-并发编程原理(写线程安全的Java代码)
- 不同OpenCV版本和不同VS版本之间配置时的注意事项
- 计算机网络提高题目
- 项目管理博文汇总
- Virtual Memory
- 获取一个路径所在存储设备的属性
- Drupal 中fonts.googleapi.com字体的处理
- VLOOKUP 返回值不能全部被显示,有些出现“值不可用"错误
- 《改变未来的九大算法》读书笔记
- codeforces 498 c Array and Operations
- uva 10014 - Simple calculations
- Linux下C代码浏览工具--cscope
- Eclipse中debug调试简单使用
- Java空字符串与null区别