获得驱动器信息卷设备&&Ring3得到磁盘文件系统(NTFS WIN10)

 1 // GetLogicalDriveStrings.cpp : 定义控制台应用程序的入口点。
 2 //
 3
 4 #include "stdafx.h"
 5 #include <Windows.h>
 6 #include <iostream>
 7
 8 using namespace std;
 9
10 void Sub_1();//枚举计算机的卷--->磁盘 &&  NTFS(win10)
11
12
13 int main()
14 {
15
16     Sub_1();
17
18     return 0;
19 }
20
21 void Sub_1()
22 {
23     char    VolumeDeviceString[0x500] = { 0 };
24     // 前一个字节为消息类型,后面的52字节为驱动器跟相关属性
25     BYTE    BufferData[0x1000] = { 0 };
26     char    FileSystem[MAX_PATH] = { 0 };
27     char    *Travel = NULL;
28
29     GetLogicalDriveStrings(sizeof(VolumeDeviceString), VolumeDeviceString);
30
31
32     //获得驱动器信息
33     /*
34     0x001FF228  43 3a 5c 00 45 3a 5c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  C:\.E:\.............
35     */
36
37     //0018F460  43 3A 5C 00 44 3A 5C 00 45 3A 5C 00 46 3A  C:\.D:\.E:\.F:
38     //0018F46E  5C 00 47 3A 5C 00 48 3A 5C 00 4A 3A 5C 00  \.G:\.H:\.J:\.
39     Travel = VolumeDeviceString;
40
41     DWORD Offset = 0;
42     for (Offset = 1; *Travel != ‘\0‘; Travel += lstrlen(Travel) + 1)   //这里的+1为了过\0
43     {
44         memset(FileSystem, 0, sizeof(FileSystem));  //文件系统 NTFS
45
46                                                     // 得到文件系统信息及大小
47         GetVolumeInformation(Travel, NULL, 0, NULL, NULL, NULL, FileSystem, MAX_PATH);
48         ULONG    FileSystemLength = lstrlen(FileSystem) + 1;
49
50         int a = 0;
51     }
52
53
54 }
时间: 2024-10-22 17:58:52

获得驱动器信息卷设备&&Ring3得到磁盘文件系统(NTFS WIN10)的相关文章

管理员技术(六): 硬盘分区及格式化、 新建一个逻辑卷、调整现有磁盘的分区、扩展逻辑卷的大小、添加一个swap分区

一.硬盘分区及格式化 问题: 本例要求熟悉硬盘分区结构,使用fdisk分区工具在磁盘 /dev/vdb 上按以下要求建立分区: 1> 采用默认的 msdos 分区模式        2> 第1个分区 /dev/vdb1 的大小为 200MiB        3> 第2个分区 /dev/vdb2 的大小为 2000MiB        4> 第3个分区 /dev/vdb3 的大小为 1000MiB 完成分区后,能够配置开机自动挂载 /dev/vdb2 分区: 1> 文件系统类型

《Linux菜鸟入门2》设备分区及磁盘管理

第四单元   设备分区及磁盘管理 ● 分区方式 fdisk  /dev/vdb                        划分命令/dev/vdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): m  

C#读取驱动器信息

1 using System; 2 using System.IO; 3 4 namespace _24._6_读取驱动器信息 5 { 6 class Program 7 { 8 static void Main(string[] args) 9 { 10 var di = DriveInfo.GetDrives(); 11 12 foreach (var d in di) 13 { 14 try 15 { 16 Console.WriteLine(d.Name); 17 Console.Wri

磁盘阵列中分区信息丢失后如何恢复磁盘的盘符

磁盘阵列,也可以说是容错式廉价磁盘阵列,可以将多个较小的磁碟整合成为一个较大的磁碟装置.对磁盘阵列的操作,主要是空间的分区,即磁盘阵列分区,而分区又可以分为一个或多个区.本文介绍的方法是磁盘阵列中的分区信息丢失后如何恢复磁盘的盘符. 当用户对服务器重新配置磁盘阵列信息时,重配磁盘阵列的信息得保证和当初配置信息一致,如果配置的参数和当初配置的不一致,部分目录可能正确,但绝大多数文件不能打开,造成数据丢失,而部分服务器在重配阵列信息后要自动初始化,所有的数据都会清除,这种情况造成的损失就更大了. 当

苹果相册信息推广设备哪里有

苹果相册信息推广设备哪里有[电薇:132乄8688乄4109][Q群780516296]邦达亚洲:美元走软油价冲高 美元加元退守1.2900美国二季度GDP增速创近4年最佳 经济学家:难持续财政部应急管理部向山东安徽下拨2.2亿元救灾资金湖南省环境保护厅原副厅长谢立涉受贿被提起公诉滴滴专车司机遇交警查车飙车逃避 广州交警:暂扣车辆受贿官员落马后忏悔:当初真像鬼迷心窍了一样韩国篮球队员亚运村吃坏肚子 3x3输中国因为这?百度拿下基金销售牌照 BATJ均已入局订错酒店让用户从俄打车去希腊 马蜂窝:道

学习API使用FindFirstVolume系列函数遍历驱动器,获取驱动器信息

#define _WIN32_WINNT 0x0501#include <windows.h>#include <stdlib.h>#include <stdio.h>#define  BUFSIZE MAX_PATH BOOL GetDirverInfo(LPSTR szDrive); int main(void){ TCHAR buf[BUFSIZE]; HANDLE hVol; BOOL bFlag; /******************************

UWP 应用获取各类系统、用户信息 (1) - 设备和系统的基本信息、应用包信息、用户数据账户信息和用户账户信息

应用开发中,开发者时常需要获取一些系统.用户信息用于数据统计遥测.问题反馈.用户识别等功能.本文旨在介绍在 Windows UWP 应用中获取一些常用系统.用户信息的方法.示例项目代码可参见 Github: https://github.com/validvoid/UWP-SystemInfoCollector 由于涉及内容较多,故本文会分为多篇展开.本篇介绍获取设备和系统的基本信息.应用包信息.用户数据账户信息和用户账户信息. 原博客阅读地址:http://validvoid.net/uwp-

47-Ubuntu-系统信息-2-df和du查看磁盘和目录空间占用

序号 命令 作用 01 df -h disk free 显示磁盘剩余空间;-h以人性化的方式显示文件大小 02 du -h [目录名] disk usage 显示目录下的文件大小 注:显示磁盘信息的时候,主要关注根目录/ 原文地址:https://www.cnblogs.com/summer1019/p/11196107.html

如何在线将逻辑卷扩容并且设置磁盘配额

实验要求 1.用lvm逻辑卷(40G) 挂载使用 /dev/djy/djylv /abc2.扩容djylv从20G至35G(在线扩容)3.给tom用户设置磁盘配额 4.将tom加入财务组(caiwu),给财务组设置配额(比tom的小),验证是否是小配额生效!··先添加两块硬盘,用fdisk -l 查看是否有/dev/sdb和/dev/sdc.然后通过fdisk /deb/sdb进行设置,创建物理卷,将分区类型改为8e,然后w保存退出./dev/sdc进行相同设置然后用fdisk -l查看是否成功