CreateFile和WriteFile
1. CreateFile
函数功能
CreateFile 函数创建或打开下列对象,并返回一个可以用来访问这些对象的句柄。
文件
pipes
邮槽
通信资源
磁盘驱动器(仅适用于 windowsNT )
控制台
文件夹(仅用于打开)
函数原型
HANDLE CreateFile(LPCTSTR lpFileName, // 指向文件名的指针 DWORD dwDesiredAccess, // 访问模式(写 / 读) DWORD dwShareMode, // 共享模式 LPSECURITY_ATTRIBUTES lpSecurityAttributes, // 指向安全属性的指针 DWORD dwCreationDisposition, // 如何创建 DWORD dwFlagsAndAttributes, // 文件属性 HANDLE hTemplateFile // 用于复制文件句柄
);
函数参数
函数返回值
如执行成功,则返回文件句柄。 INVALID_HANDLE_VALUE 表示出错,会设置 GetLastError 。即使函数成功,但若文件存在,且指定了 CREATE_ALWAYS 或 OPEN_ALWAYS , GetLastError 也会设为 ERROR_ALREADY_EXISTS
2. WriteFile
函数原型
BOOL WriteFile
(
HANDLE hFile,
LPCVOID lpBuffer,
DWORD nNumberOfBytesToWrite,
LPDWORD lpNumberOfBytesWritten,
LPOVERLAPPED lpOverlapped//OVERLAPPED
);
函数参数
HANDLE hFile 文件句柄
LPCVOID lpBuffer 数据缓存区指针,指向将写入文件的数据缓冲区
DWORD nNumberOfBytesToWrite 字节数,要写入数据的字节数量
LPDWORD lpNumberOfBytesWritten 用于保存实际写入字节数的存储区域的指针;实际写入文件的字节数量(此变量是用来返回的 )
LPOVERLAPPED lpOverlapped OVERLAPPED 结构体指针,倘若在指定FILE_FLAG_OVERLAPPED的前提下打开文件,这个参数就必须引用一个特殊的结构。那个结构定义了一次异步写操作。否则,该参数应置为空(将声明变为ByVal As Long,并传递零值)
函数返回值
TRUE(非零)表示成功,否则返回零。会设置GetLastError
CreateFile和WriteFile相关推荐
- CreateFile | ReadFile | WriteFile - WINDOWS API 第五弹 C++创建任意格式的文件用于读取和写入。
Windows api系列第五弹强烈来袭,本期介绍Windows上c++有关文件创建.读取和写入的api:CreateFile.ReadFile.WriteFile. 目录 一.CreateFile ...
- 频繁通过win32api的createfile函数打开文件句柄导致内存泄漏
1.通过win32的createfile.writefile函数打开写入文件 void WriteLogThread(void* lpParameter) {LPLogData pData = (LP ...
- 用WDM开发USB驱动程序
摘要:本文简单介绍了WDM和USB的一些基本概念,给出了开发USB驱动程序的流程和基本步骤,同时对开发USB设备的接口软件结构和驱动程序作了介绍.最后给出了PC机对USB设备的应用程序实现 关键词:W ...
- C++ MFC常用函数(转)
WinExec() ExitWindowsEx() GlobalMemoryStatus() GetSystemInfo() GetSystemDirectory() GetWindowsDirect ...
- VC中海量文件读写类设计与应用(转)
VC中海量文件读写类设计与应用 沈瑞冰 摘要 本文阐述了海量文件读写的一般方法,并分析了该方法中存在的内存耗尽问题和解决办法,并就此设计了一个海量文件读写类,封装了海量文件读写操作,最后给出了一个 ...
- 分块内存映射处理大文件-例子
参考 :http://user.qzone.qq.com/382164370/infocenter#!app=2&via=QZ.HashRefresh&pos=1363445766 内 ...
- ARM中断分析之三:WinCE驱动的中断分析
现在有许多高端的ARM芯片,像苹果.三星.华为都采用ARM芯片做为智能手机芯片. 这篇文章介绍基于ARM的WinCE操作系统的驱动的中断分析.WinCE驱动分为两类,这里介绍流驱动,流驱动比较简单. ...
- VC++中使用内存映射文件处理大文件
引言 文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile().WriteFile().ReadFile() ...
- 从入门到入土:恶意代码Lab03-03.exe|分析实验|运行截图|问题回答|
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
- Windows平台内核级文件访问
1.背景 在windows平台下,应用程序通常使用API函数来进行文件访问,创建,打开,读写文件.从kernel32的CreateFile/ReadFile/WriteFile函数,到本地系统 ...
最新文章
- 反积分饱和 程序_非常通俗易懂的PID控制(2)--积分饱和
- python:去重(list,dataframe)
- vs linux 交叉编译,Visual Studio交叉编译器提供对ARM的支持
- 滤镜怎么调_手机、电脑怎么剪辑视频?真心求推荐实用工具
- javascript 创建ajax函数 四部曲
- duilib开发基础:创建自定义控件的过程
- 全球气象数据的网站集合数据包含(大气数据、海洋数据等各种数据)
- 请问大家,有没有法学相关的毕业论文选题 ?
- 手机如何注册163邮箱?注册邮箱的方法步骤
- POI操作Excel设置前景色背景色
- 马云装神弄鬼拜见过被通缉的气功大师王林, 歪门邪道的人还办教育,用淘宝支付宝真的不放心
- 恭贺经纬恒润参股企业“挚途科技”实现L3级自动驾驶重卡商业化落地
- 单道批处理系统,多道批处理系统,分时系统比较(概念,特点,优缺点)
- EXCEL如何设置固定表头
- 2016年 河南工业大学校赛 C题.魔法宝石
- 实战 webpack 4 配置解析四
- mac批量修改文件名、后缀名
- 清华大学计算机系哪个专业就业前景最好,清华大学就业率及就业情况怎么样(含就业前景好的专业)...
- Open vSwitch---流表控制主机数据转发实验(四)---meter表实践
- 华为机试 HJ27 查找兄弟单词
热门文章
- 如何让你的网站快速被百度收录。
- 将大文件分割为指定大小的文件
- java 7 update 79下载_java 7下载|java运行环境(JDK 7 Update 67)官方版下载 - 3322软件站
- flush table mysql_MySQL flush table 导致的锁问题
- php如何去重,php二维数组如何去重?(代码示例)
- php实现并排,css实现多列并排 多块并排 左右顶头_html/css_WEB-ITnose
- 5G技术将如何改变我们的世界
- Python模拟谷歌浏览器发布文字、图片
- 头目说“我不参与研发和测试的工作”,包含哪几个意思
- shell中find某个文件排除某个目录