【Windows API】获取卷标、卷名
1、卷->卷标
使用FindFirstVolume()和FindNextVolume()函数体系,枚举系统所有卷(Volume)的例子,然后获取卷标、卷类型。这个方式可以枚举出没有驱动器号(卷标)的卷。
int TestMode1()
{HANDLE hVolume = INVALID_HANDLE_VALUE;TCHAR tszVolumeName[MAX_PATH] = {0};TCHAR tszVolumePath[MAX_PATH] = {0};BOOL bRet;DWORD dwError;DWORD dwCount;UINT nDriveType;//1、获取卷名称hVolume = FindFirstVolume(tszVolumeName, ARRAYSIZE(tszVolumeName));if (hVolume == INVALID_HANDLE_VALUE){wprintf(_T("FindFirstVolume() failed, error code = %d"), GetLastError());return -1;}while (1){//2、获取卷路径dwCount = ARRAYSIZE(tszVolumePath);bRet = GetVolumePathNamesForVolumeName(tszVolumeName, tszVolumePath, dwCount, &dwCount);if (!bRet){dwError = GetLastError();wprintf(_T("GetVolumePathNamesForVolumeName() failed, error code = %d"), dwError);getchar();return -1;}//3、获取驱动器类型nDriveType = GetDriveType(tszVolumePath);wprintf(_T("Volume name: %s\r\n"), tszVolumeName);wprintf(_T("Volume path: %s\r\n"), tszVolumePath);wprintf(_T("Drive type: %d\r\n\r\n"), nDriveType);bRet = FindNextVolume(hVolume, tszVolumeName, ARRAYSIZE(tszVolumeName));if (!bRet){dwError = GetLastError();if (dwError != ERROR_NO_MORE_FILES){wprintf(_T("FindNextVolume() failed, error code = %d"), dwError);return -1;}break;}}wprintf(_T("Test 2 end!\r\n\r\n"));//getchar();return 0;
}
输入
2、卷标->卷名
通过卷标(驱动器号)获取卷名,需要使用GetVolumeNameForVolumeMountPoint()函数。
int TestMode2()
{TCHAR tszLogicDriveStrings[1024] = {0};LPCTSTR szDrive = NULL;TCHAR tszVolumeName[MAX_PATH];GetLogicalDriveStrings(sizeof(tszLogicDriveStrings) / sizeof(TCHAR) - 1, tszLogicDriveStrings);szDrive = (LPCTSTR)tszLogicDriveStrings;do{GetVolumeNameForVolumeMountPoint(szDrive, tszVolumeName, sizeof(tszVolumeName) / sizeof(TCHAR));wprintf(_T("Drive %s, Volume name: %s\r\n"), szDrive, tszVolumeName);szDrive += (lstrlen(szDrive) + 1);} while (*szDrive != _T('\x00'));wprintf(_T("\r\nTest 1 end!\r\n\r\n"));return 0;
}
输出
相关文章:

【Windows API】获取卷标、卷名
1、卷->卷标 使用FindFirstVolume()和FindNextVolume()函数体系,枚举系统所有卷(Volume)的例子,然后获取卷标、卷类型。这个方式可以枚举出没有驱动器号(卷标)的卷。 int TestMode1() {HANDLE hVolume…...

通过MATLAB自动产生Hamming编译码的verilog实现,包含testbench
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 1. 原理 1.1 编码规则 1.2 错误检测和纠正 2. 实现过程 2.1 编码过程 2.2 解码过程 3. 应用领域 3.1 数字通信 3.2 存储系统 3.3 ECC内存 3.4 数据传输 5.算法完整程序工程 1.算法…...

swager web服务无法显示问题
如果指定了扫描其他包 那么web文件夹里面的就扫描不到 需要加上扫描扫描web的 ,默认什么也没有就会扫描web文件夹 但是其他模块的扫描不到 指定了扫描其他模块就需要再次指定扫描该web文件夹...
代码随想录训练营day18 二叉树
106. 从中序与后序遍历序列构造二叉树 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 //左根右 左右根/* 第一步:如果数组大小为零的…...

图像的平移变换之c++实现(qt + 不调包)
1.基本原理 设dx为水平偏移量,dy为垂直偏移量,则平移变换的坐标映射关系为下公式,图像平移一般有两种方式。 1.不改变图像大小的平移(一旦平移,相应内容被截掉) 1)当dx > width、dx < -wi…...

云原生K8S------Yaml文件详解
目录 一:K8S支持的文件格式 1,yaml和json的主要区别 2,YAML语言格式 二:yuml 1、查看 api 资源版本标签 2、写一个yaml文件demo 3、创建service服务对外提供访问并测试 4、详解k8s中的port 三:文件生成 1、kubec…...
测试开发环境安装
安装python运行环境 下载地址:链接 http://python.p2hp.com/downloads/windows/index.html 选择合适自己的版,我下载的3.8.10的进行安装 安装码编辑器Pychrom 下载地址:链接 https://www.jetbrains.com/pycharm/ 拉到最下面可以下载社区版…...

微信小程序如何引入Iconfont
在小程序中引入 Iconfont 可以通过以下步骤进行操作: 打开 Iconfont 网站(https://www.iconfont.cn/)并登录账号,创建一个项目并添加所需的图标到项目中。 在项目中选中需要使用的图标,点击右上角的 “下载代码” 按钮…...

php使用get和post传递数据出现414 Request-URI Too Large的解决方案
递数据出现414 Request-URI Too Large的解决方案 一、Request-URI Too Large的原因二、GET与POST三、项目分析1.读取源数据2.将读取的到数据,进行传递3.ajax获取传递的数据并传递到后台4.传递数据5.解决方案 一、Request-URI Too Large的原因 “Request-URI Too La…...
复现大华智慧园区综合管理平台SQL注入漏洞
目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现 一、漏洞描述 大华智慧园区综合管理平台是一个集智能化、信息化、网络化、安全化为一体的智慧园区管理平台,旨在为园区提供一站式解决方案,包括安防、能源管理、环境监测、人员管理、停车管理等多个方面。大华…...

【uniapp】uniapp设置安全区域:
文章目录 一、效果图:二、实现代码: 一、效果图: 二、实现代码: {"path": "pages/index/index","style": {"navigationStyle": "custom","navigationBarTextStyle": "white","navigationBarTitle…...

Grafana技术文档--基本安装-docker安装并挂载数据卷-《十分钟搭建》-附带监控服务器
阿丹: Prometheus技术文档--基本安装-docker安装并挂载数据卷-《十分钟搭建》_一单成的博客-CSDN博客 在正确安装了Prometheus之后开始使用并安装Grafana作为Prometheus的仪表盘。 一、拉取镜像 搜索可拉取版本 docker search Grafana拉取镜像 docker pull gra…...
24大连交通大学软件工程813题库
1.下面错误的说法是( )。 A. 每个数据流必须用名词或名词短语命名 B.每个加工必须有名字,通常是动词短语 c.每个数据存储必须用名词或名词短语 D.每个数据源点或终点必须有名字 答案:C 2.下…...
数据治理-组织变革
为什么要有组织变革 组织变更的原因是,数据管理,对大多数企业而言,意味着原有的思维理念、工作模式、写作方式和信息技术的改变。这些改变无法依赖单纯的技术创新优化实现,而是通过组织管理的变更来实现。 数据管理成功实践的机制…...
html的语义化
说说对 html 语义化的理解 去掉或者丢失样式的时候能够让页面呈现出清晰的结构有利于 SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;方便其他设备解析(如屏…...

8/12 题解
解题思路 贪心,小的搭配大的,和会最小 AC代码 #include <iostream> using namespace std;int main() {int n;cin >> n;int l 1;int r n;while(l < r){ cout << l << ;l;cout << r << ;--r;if(l r){cout …...
九耶丨阁瑞钛伦特-产品经理面试题
在产品上线后,会着重观察6类指标: 1、活跃用户指标 衡量APP用户规模的指标,一个产品是否成功,如果只看一个指标,那么这个指标一定是活跃用户数。 日活(DAU):一天内日均活跃设备数(去重,每个公…...
前后端分离项目接口权限检查方案
基于handleMethod写的一款分级式接口权限检查方案。 权限自动同步机制(启动更新,页面不提供增删改): public class AuthorizationMappingGenerateExecutor implements EasyApplicationRunner {Autowiredprivate AuthorizationMap…...

步入React正殿 - 事件处理
目录 扩展学习资料 React事件和DOM事件 和传统DOM事件处理异同 this关键字的处理 this关键字 在JSX中使用bind方法 在构造函数中使用bind方法 使用箭头函数【推荐】 向事件处理程序传递参数【不跨组件】 向父组件传递参数 /src/App.js /src/components/listItem.jsx…...
NLP(六十四)使用FastChat计算LLaMA-2模型的token长度
LLaMA-2模型部署 在文章NLP(五十九)使用FastChat部署百川大模型中,笔者介绍了FastChat框架,以及如何使用FastChat来部署百川模型。 本文将会部署LLaMA-2 70B模型,使得其兼容OpenAI的调用风格。部署的Dockerfile文件…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...