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相关推荐

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

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

  2. 频繁通过win32api的createfile函数打开文件句柄导致内存泄漏

    1.通过win32的createfile.writefile函数打开写入文件 void WriteLogThread(void* lpParameter) {LPLogData pData = (LP ...

  3. 用WDM开发USB驱动程序

    摘要:本文简单介绍了WDM和USB的一些基本概念,给出了开发USB驱动程序的流程和基本步骤,同时对开发USB设备的接口软件结构和驱动程序作了介绍.最后给出了PC机对USB设备的应用程序实现 关键词:W ...

  4. C++ MFC常用函数(转)

    WinExec() ExitWindowsEx() GlobalMemoryStatus() GetSystemInfo() GetSystemDirectory() GetWindowsDirect ...

  5. VC中海量文件读写类设计与应用(转)

    VC中海量文件读写类设计与应用   沈瑞冰 摘要 本文阐述了海量文件读写的一般方法,并分析了该方法中存在的内存耗尽问题和解决办法,并就此设计了一个海量文件读写类,封装了海量文件读写操作,最后给出了一个 ...

  6. 分块内存映射处理大文件-例子

    参考 :http://user.qzone.qq.com/382164370/infocenter#!app=2&via=QZ.HashRefresh&pos=1363445766 内 ...

  7. ARM中断分析之三:WinCE驱动的中断分析

    现在有许多高端的ARM芯片,像苹果.三星.华为都采用ARM芯片做为智能手机芯片. 这篇文章介绍基于ARM的WinCE操作系统的驱动的中断分析.WinCE驱动分为两类,这里介绍流驱动,流驱动比较简单. ...

  8. VC++中使用内存映射文件处理大文件

    引言 文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile().WriteFile().ReadFile() ...

  9. 从入门到入土:恶意代码Lab03-03.exe|分析实验|运行截图|问题回答|

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  10. Windows平台内核级文件访问

    1.背景     在windows平台下,应用程序通常使用API函数来进行文件访问,创建,打开,读写文件.从kernel32的CreateFile/ReadFile/WriteFile函数,到本地系统 ...

最新文章

  1. 反积分饱和 程序_非常通俗易懂的PID控制(2)--积分饱和
  2. python:去重(list,dataframe)
  3. vs linux 交叉编译,Visual Studio交叉编译器提供对ARM的支持
  4. 滤镜怎么调_手机、电脑怎么剪辑视频?真心求推荐实用工具
  5. javascript 创建ajax函数 四部曲
  6. duilib开发基础:创建自定义控件的过程
  7. 全球气象数据的网站集合数据包含(大气数据、海洋数据等各种数据)
  8. 请问大家,有没有法学相关的毕业论文选题 ?
  9. 手机如何注册163邮箱?注册邮箱的方法步骤
  10. POI操作Excel设置前景色背景色
  11. 马云装神弄鬼拜见过被通缉的气功大师王林, 歪门邪道的人还办教育,用淘宝支付宝真的不放心
  12. 恭贺经纬恒润参股企业“挚途科技”实现L3级自动驾驶重卡商业化落地
  13. 单道批处理系统,多道批处理系统,分时系统比较(概念,特点,优缺点)
  14. EXCEL如何设置固定表头
  15. 2016年 河南工业大学校赛 C题.魔法宝石
  16. 实战 webpack 4 配置解析四
  17. mac批量修改文件名、后缀名
  18. 清华大学计算机系哪个专业就业前景最好,清华大学就业率及就业情况怎么样(含就业前景好的专业)...
  19. Open vSwitch---流表控制主机数据转发实验(四)---meter表实践
  20. 华为机试 HJ27 查找兄弟单词

热门文章

  1. 如何让你的网站快速被百度收录。
  2. 将大文件分割为指定大小的文件
  3. java 7 update 79下载_java 7下载|java运行环境(JDK 7 Update 67)官方版下载 - 3322软件站
  4. flush table mysql_MySQL flush table 导致的锁问题
  5. php如何去重,php二维数组如何去重?(代码示例)
  6. php实现并排,css实现多列并排 多块并排 左右顶头_html/css_WEB-ITnose
  7. 5G技术将如何改变我们的世界
  8. Python模拟谷歌浏览器发布文字、图片
  9. 头目说“我不参与研发和测试的工作”,包含哪几个意思
  10. shell中find某个文件排除某个目录