Windows编程_Lesson004_Windows I/O操作
来源:互联网 发布:cryengine3 编程语言 编辑:程序博客网 时间:2024/06/05 05:18
在Windows程序中,最基础的运行单元是线程!Windows为每一个线程分配一个处理器,可以让系统执行多个操作!当线程进行一个io操作时,线程会被挂起,从而影响性能。为了解决这类问题,Windows使用了一套非常好的机制I/O**完成端口**,接下来我们将学习Windows中的相关操作。
设备
文件(实际存在的)
Windows编程中的文件定义
二进制数据集合
维基百科的参考资料 文件格式列表
广义文件定义
目录(由它的系统创建的,虚拟的)
在计算机或相关设备中,一个“目录”或“文件夹”就是一个装有数字文件系统的虚拟“容器”。在它里面保存着一组文件和其他一些目录(文件夹)。一个典型的文件系统可能包含成千上万个目录(文件夹)。多个文件通过存储在一个目录(文件夹)中,可以达到有组织的存储文件的目的。在一个目录(文件夹)中的另一个目录(文件夹)被称作它的子目录(子文件夹)。这样,这些目录(文件夹)就构成了城市(hierarchy),或树形结构。
逻辑驱动器(由它的系统创建的,虚拟的)
可以降Windows上的原始磁盘空间配置为逻辑驱动器或物理驱动器。逻辑驱动器在编程中常被用于格式化驱动器。
物理磁盘驱动器(实际存在的)
常被用于获取分区表
串口
通过电话线发送型号,单通道!
并口
8通道!
邮件槽
一对多,通过网络传输!
命名管道
一对多,本机传输!
套接字
报文或数据流传输,通过网络传输!
打开方式
CreateFile
创建或打开一个文件或I/O设备。
HANDLE WINAPI CreateFile( _In_ LPCTSTR lpFileName, _In_ DWORD dwDesiredAccess, _In_ DWORD dwShareMode, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _In_ DWORD dwCreationDisposition, _In_ DWORD dwFlagsAndAttributes, _In_opt_ HANDLE hTemplateFile);
它有两个版本,宽子的版本和改自己的版本。这是因为出于考虑兼容性的问题。
WINBASEAPIHANDLEWINAPICreateFileA( _In_ LPCSTR lpFileName, _In_ DWORD dwDesiredAccess, _In_ DWORD dwShareMode, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _In_ DWORD dwCreationDisposition, _In_ DWORD dwFlagsAndAttributes, _In_opt_ HANDLE hTemplateFile );WINBASEAPIHANDLEWINAPICreateFileW( _In_ LPCWSTR lpFileName, _In_ DWORD dwDesiredAccess, _In_ DWORD dwShareMode, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _In_ DWORD dwCreationDisposition, _In_ DWORD dwFlagsAndAttributes, _In_opt_ HANDLE hTemplateFile );
但是,这样虽然可以解决宽窄字节的转换,但是有时候会出现一些问题。
比如,我们在窄字节工程中使用宽字节的字符串,我们使用CreateFile时,其实调用的是CreateFileA函数,此时就不能使用宽字节字符串了,所以以后还是显示调用A或者W版本的函数。
CreateFile还可以进行事务性操作。我的理解是跟原子操作类似,只有一个事物执行完成之后,它的所有操作才会生效,否则,它会回滚到操作这个事务之前状态。
2 0
- Windows编程_Lesson004_Windows I/O操作
- Windows编程_Lesson004_Windows消息机制
- Windows I/O操作
- Windows I/O操作
- Windows I/O操作
- Windows I/O 操作--CreateFile
- 标准I/O操作编程
- 文件I/O操作编程
- Windows CE 下I/O操作基础
- Windows CE 下I/O操作基础
- I/O 完成端口( Windows核心编程 )
- I/O 完成端口( Windows核心编程 )
- Windows系统编程之异步I/O
- I/O 完成端口( Windows核心编程 )
- Windows核心编程:同步设备I/O与异步设备I/O
- 《Windows核心编程》读书笔记十 同步设备I/O与异步设备I/O
- windows核心编程--同步设备I/O与异步设备I/O
- Windows CE5.0 下I/O操作基础(1)
- tensorflow 笔记(0)
- Webpack2入门
- 学习笔记(C基础+进阶)
- Android系统服务注册
- RN的前生后世
- Windows编程_Lesson004_Windows I/O操作
- word2010插入参考文献
- Effective C++读书笔记四
- ReactNative清空购物车-学习笔记
- JSX和组件的概念
- Spring中的BeanPostProcessor
- JDBC的基本使用
- poj 2039
- Return of the Nim----Nim博弈+威佐夫博弈 山东省第八届省赛A题