Windows核心编程-CreateFile详解

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

文件内核对象

各种设备及其常见用途:

设备 常见用途
文件 永久存储任何数据
目录 属性和文件压缩的设置
逻辑磁盘驱动器 格式化驱动器
物理磁盘驱动器 访问分区表
串口 通过电话线传输数据
并口 将数据传输至打印机
邮件槽 一对多数据传输,通常是通过网络传到另一台运行Windows机器上
命名管道 一对一数据传输,通常是通过网络传到另一台运行Windows机器上
匿名管道 单机上的一对一数据传输(绝对不会跨网络)
套接字 报文或数据流的传输,通常是通过网络传到任何支持套接字的机器上
控制台 文本窗口的屏幕缓存

用来打开各种设备的函数:

设备 用来打开设备的函数
文件 CreateFile(pszName 为路径名或UNC路径名)
目录 CreateFile(pszName为路径名或UNC路径名)。如果调用 CreateFile 的时候指定 FILE_FLAG_BACKUP_SEMANTICS标志,那么Windows允许我们打开一个目录。打开目录使我们能够改变目录的属性
逻辑磁盘驱动器 CreateFile(pszName 为“\.\x:”)。如果指定的字符串是”\.\x:”的形式,那么Windows允许我们打开一个逻辑磁盘驱动器,其中的x是驱动器的盘符。打开驱动器使我们能够格式化驱动器或检测驱动器媒介的大小
物理磁盘驱动器 CreateFile(pszName 为 “\\.\PHYSICALDRIVEx”)。如果指定的字符串是“\\.\PHYSICALDRIVEx”的形式,那么Windows允许我们打开一个物理磁盘驱动器,其中的x是物理驱动器号。例如,读写第一个物理磁盘驱动器的扇区——\\.\PHYSICALDRIVE0。打开物理驱动器使我们能直接访问磁盘分区表。打开物理驱动器有潜在的危险,错误地写入设备可能会导致操作系统的文件系统无法访问磁盘的内容
串口 CreateFile(pszName 为”COMx”)
并口 CreateFile(pszName, 为”LPTx”)
邮件槽服务器 CreateMailslot(pszName, 为 “\\.\mailslot\mailslotname”)
邮件槽客户端 CreateFile(pszName 为”\\servername\mailslotname”)
命名管道服务器 CreateNamedPipe(pszName 为”\\.\pipe\pipename”)
命名管道客户端
[MIT公开课(计算机教育中缺失的一课)]2.Shell工具与脚本 MIT计算机教育中缺失的一课 上一讲:Overview+Shell笔记 文章目录MIT计算机教育中缺失的一课前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建 阅读详情

相关推荐

C/C++语言windows读取串口数据

本文使用C/C++语言,对windows下串口读写进行操作。

m0_50128907的博客 4970

CreateFile函数详解

CreateFile The CreateFile function creates or opens the following objects and returns a handle that can be used to accessthe object: files pipes mailslots communications resources disk

cigogo的专栏 3792

WIN API 文件操作

WIN API 文件的简单操作

weixin_45690131的博客 1523

CreateFile | ReadFile | WriteFile - WINDOWS API 第五弹 C++创建任意格式的文件用于读取和写入。

Windows api系列第五弹强烈来袭,本期介绍Windows上c++有关文件创建、读取和写入的api:CreateFile、ReadFile、WriteFile。

Bobowen的博客 5904

CreateFile 函数详细解析

前言: 在Windows编程CreateFile函数是用得非常多的,由于它的参数比较多比较复杂,在使用的时候容易出现问题,在学习了MSDN的官方文档后打算将其原文翻译出来,以供参考,如有错误,欢迎指正:lcb0281@163点comCreateFile 创建或打开文件或I/O设备。常用的I/O设备有:文件文件流,目录,物理磁盘,卷,控制台缓冲区,磁带驱动器,通信资源,邮筒和管道。............

Biao 2万+

基于VS2015与MFC的串口调试助手源码详解

Windows桌面开发中,串口通信是工业控制与嵌入式调试的基础技术。通过MFC框架调用系统API(如CreateFile、ReadFile)即可构建高效的串口调试工具。这里围绕一个基于VS2015开发的串口调试助手源码,详细阐述其分层设计、DCB参数配置、接收线程与UI协作机制,并针对十六进制收发、定时发送、日志保存等实用功能给出实现思路。同时总结了串口打开失败、线程退出死锁、数据乱码等典型问题的排查方法,为上位机工程师和MFC学习者提供可直接复用的工程参考。

weixin_33940469的博客 331

Windows API中CreateFile文件读写操作详解与实战

/ 示例:仅允许SYSTEM和Administrators访问// ... 设置DACL省略 ...此类操作复杂,建议使用辅助函数构造SDDL字符串。分解如下:成员功能读取基本权限(如查询句柄有效性)读取文件内容获取文件属性(大小、时间等)读取扩展属性(NTFS专属)允许等待句柄变为信号状态(用于事件同步)

weixin_35516624的博客 1167

【C语言】CreateFile函数用法介绍

CreateFile函数是Windows API中用于文件/设备操作的核心接口,支持创建、打开文件及多种I/O设备(如串口、管道、磁盘等)。本文将详细介绍。

XZ_ZC的博客 2191

详细介绍CreateFile()​

Windows API 中用于创建或打开文件、设备、管道等核心对象的底层函数。它在 <windows.h>头文件中声明,提供了对文件操作的精细控制。

felicity_one的博客 1542

Windows串口通信API实战:从CreateFile到异步I/O操作

本文深入解析Windows串口通信API的实战应用,从使用CreateFile函数正确打开串口开始,详细介绍了DCB结构配置、超时设置,并重点阐述了实现高性能异步I/O操作的核心方法。文章旨在帮助开发者掌握底层API,以应对工业控制、嵌入式调试等场景下对稳定性和实时性的严苛要求,避开常见陷阱,编写出可靠的工业级代码。

mmm90的博客 800

CreateFile ReadFile WriteFile 详解

1. 创建和打开文件 创建任何一种文件只需要用到API函数CreateFile,应用程序可以通过该函数指定文件的格式为读取、写入或两者皆可,也可以指定是否为共享文件。如果该文件名已经存在,则将其打开。下面对函数CreateFile进行详细的介绍: 说明:本函数用于创建一个指定类列的文件。 原型 :HANDLE CreateFile(LPCTSTR lpFileName, DWORD dwD

Cpp_funs的专栏 1万+

CreateFile打开文件执行流程浅析

CreateFile打开文件的执行流程浅析    分析CreateFile这个函数打开文件的执行流程有助于我们理解windows操作系统在接收到用户打开文件请求后都会做哪些工作、它是如何找到驱动程序的、以及有哪些windows核心部件参与了打开文件的操作,这对我们开发windows驱动程序十分有益。下面我们以CreateFile打开文件C:/MYFILE.CPP来浅析这一过程,系统对象参考图例

gxfan的专栏 6161

CreateFile, ReadFile详解

一、*****CreateFile*****     这个函数可以创建或打开一个对象的句柄,凭借此句柄就可以控制这些对象: 控制台对象、通信资源对象、目录对象(只能打开)、磁盘设备对象文件对象、邮槽对象、管道对象。     函数原型: HANDLE CreateFile( LPCTSTRlpFileName,                        // file name对象

Phoenix_FuliMa 1万+

C/C++ 文件设备操作之CreateFile、ReadFile和WriteFile

1. CreateFile  这个函数的功能是创建或者打开一个文件或者I/O设备,通常使用的I/O形式有文件文件流、目录、物理磁盘、卷、终端流等。如执行成功,则返回文件句柄。 INVALID_HANDLE_VALUE 表示出错,会设置 GetLastError 。  函数的声明定义:HANDLE WINAPI CreateFile( _In_ LPCTSTR lpFileName...

Biao 1万+

CreateFile,ReadFile等API详解

CreateFile,ReadFile等API详解 一、*****CreateFile*****     这个函数可以创建或打开一个对象的句柄,凭借此句柄就可以控制这些对象: 控制台对象、通信资源对象、目录对象(只能打开)、磁盘设备对象文件对象、邮槽对象、管道对象。     函数原型: HANDLE CreateFile( LPCTSTRlpFileName,

phenixyf的专栏 4384

CreateFile,ReadFile等API详解(或者说MSDN的翻译)

一、*****CreateFile*****    这个函数可以创建或打开一个对象的句柄,凭借此句柄就可以控制这些对象:控制台对象、通信资源对象、目录对象(只能打开)、磁盘设备对象文件对象、邮槽对象、管道对象。    函数原型:HANDLE CreateFile(LPCTSTR lpFileName,                         // file name对象路径名DWOR

日知录 1551

[原]CreateFile中的dwShareMode

原总结API 一直对CreateFile的参数dwDesiredAccess和dwShareMode有什么不同不是很清楚,今天重读windows核心编程的时候终于豁然开朗了。 真是书读百遍,其义自见。 简要总结如下: dwDesiredAccess表示本次CreateFile想要获取的权限: 只读(GENERIC_READ),只写(GENERIC_WRITE),可读写(GE...

451

CreateFile,ReadFile,WriteFile,DeviceIoControl,CloseHandle

 一、*****CreateFile*****    这个函数可以创建或打开一个对象的句柄,凭借此句柄就可以控制这些对象:控制台对象、通信资源对象、目录对象(只能打开)、磁盘设备对象文件对象、邮槽对象、管道对象。    函数原型:HANDLE CreateFile(LPCTSTR lpFileName,                         // file name对象路径名D

日知录 3304

WINDOWS核心编程——设备IO

IO是程序与外部通信的主要方式,程序通过API可以与以下设备通信,windows将这些抽象为设备通过CreateFile函数打开设备,通过CloseHandle关闭设备。 HANDLE CreateFile( PCTSTR pszName, //普通文件名或者设备文件名 DWORD dwDesiredAccess, //访问模式(写/读) DWORD dwShare

pokeyode的专栏 697
上一篇: 线程同步——内核对象(互斥、事件、信号量、可等待计时器)
下一篇: Windows驱动开发环境搭建之Hello World
湖中青影
博客等级 码龄9年 7粉丝 12原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值