WriteFile API简介
VB声明 | |
Declare Function WriteFile Lib "kernel32" Alias "WriteFile" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As OVERLAPPED) As Long | |
说明 | |
将数据写入一个文件。该函数比lwrite函数要灵活的多。也可将这个函数应用于对通信设备、管道、套接字以及邮槽的处理 | |
返回值 | |
Long,TRUE(非零)表示成功,否则返回零。会设置GetLastError | |
参数表 | |
参数 | 类型及说明 |
hFile | Long,一个文件的句柄 |
lpBuffer | Any,要写入的一个数据缓冲区 |
nNumberOfBytesToWrite | Long,要写入数据的字节数量。如写入零字节,表示什么都不写入,但会更新文件的“上一次修改时间”。针对位于远程系统的命名管道,限制在65535个字节以内 |
lpNumberOfBytesWritten | Long,实际写入文件的字节数量 |
lpOverlapped | OVERLAPPED,倘若在指定FILE_FLAG_OVERLAPPED的前提下打开文件,这个参数就必须引用一个特殊的结构。那个结构定义了一次异步写操作。否则,该参数应置为空(将声明变为ByVal As Long,并传递零值) |
注解 | |
并不是每种操作系统都支持在任何类型的设备上进行异步操作。windows 95不支持对磁盘文件的重叠读取操作 |
-_-!!!真的很简单!
补充一点:
OVERLAPPED结构
typedef struct_OVERLAPPED
{
DWORD Internal;
DWORD InternalHigh;
DWORD offset;
DWORD offsetHigh;
HANDLE hEvent;
}OVERLAPPED;
Internal 指定与系统相关的状态,为操作系统的使用而保留;
InternalHigh 指定传送数据的长度,为操作系统的使用而保留;
offset 指定文件的位置,从该位置传送数据,文件位置是相对文件开始处的字节偏移量。调用ReadFile或WriteFile函数之前调用进程设置这个成员,读写命名管道及通信设备时调用进程忽略这个成员;
offsetHigh 指定开始传送数据的字节偏移量的高位字,读写命名管道及通信设备时调用进程忽略这个成员;
hEvent 标识事件,数据传送完成时把它设为信号状态,调用ReadFile WriteFile ConnectNamedPipe TransactNamedPipe函数前,调用进程设置这个成员.
相关函数 CreateEvent ResetEvent GetOverlappedResult WaitForSingleObject CWinThread GetLastErro
转载于:https://www.cnblogs.com/yimins/articles/1724865.html
WriteFile API简介相关推荐
- 线程编程常见API简介(中)
2019独角兽企业重金招聘Python工程师标准>>> 一.概述 在<线程编程常见API简介(上) >中讲述了有关线程创建过程中常用的 API 的使用方法,本节继续讲述有 ...
- WebSocket API简介
WebSocket是html5新增加的一种通信协议,目前流行的浏览器都支持这个协议,例如Chrome,Safari,Firefox,Opera,IE等等,对该协议支持最早的应该是chrome,从chr ...
- web API简介(二):客户端储存之document.cookie API
概述 前篇:web API简介(一):API,Ajax和Fetch 客户端储存从某一方面来说和动态网站差不多.动态网站是用服务端来储存数据,而客户端储存是用客户端来储存数据.document.cook ...
- 【Netty】NIO 网络通信 SelectionKey 常用 API 简介
文章目录 I . SelectionKey 简介 II . SelectionKey 事件简介 III . SelectionKey 常用 API 简介 I . SelectionKey 简介 1 . ...
- 【Java 网络编程】TCP API 简介 ( Socket | ServerSocket )
文章目录 I Socket API 简介 II ServerSocket API 简介 III Socket 数据交互 IV Socket 客户端操作流程 V Socket 服务器端操作流程 VI S ...
- java编译器使用教程_Java编译器API简介
今天给大家分享的是Java编译器API简介,文章部分内容摘自[优锐课]学习笔记. Java编译器API Java编译器API是Java模块(称为java.compiler)的一部分.该模块包括语言模型 ...
- 通过调试对WriteFile()API的钩取
通过调试对WriteFile()API的钩取 0x00 目标与思路 目标:钩取指定的notepad.exe进程writeFile()API函数,对notepad.exe进程的写入的字符保存时保存为大写 ...
- html5画电池状态,HTML5的一个显示电池状态的API简介
这篇文章主要介绍了HTML5的一个显示电池状态的API简介,由Mozilla设计,具体的设备和浏览器支持情况还要通过检测才能确定,需要的朋友可以参考下 移动设备的份额在网络流量中在大量增长,其所贡献的 ...
- ZABBIX API简介及使用
API简介 Zabbix API开始扮演着越来越重要的角色,尤其是在集成第三方软件和自动化日常任务时.很难想象管理数千台服务器而没有自动化是多么的困难.Zabbix API为批量操作.第三方软件集成以 ...
最新文章
- JS 验证表单不能为空
- 订单×××的算法研究与实现
- wedo巡线机器人编程教程_这是一个机器人和编程的时代
- sdut 3346 sdut 3344 Runtime Error Runtime Error?
- Leetcode1710. 卡车上的最大单元数[C++题解]:贪心
- dispatcherservlet发送2次请求_[Java] SpringMVC工作原理之一:DispatcherServlet
- Visual Studio 2010 Ultimate敏捷测试驱动开发
- 幻世机器人_2014年科幻动作《幻世追踪/启动机械码》BD中英双字幕
- python闭环最短路径_最短路径算法的实现(dijskstra):Python
- python-朴素贝叶斯分类器
- Python对象引用和del删除引用
- ftp ---- vsftpd安装卸载
- nodejs进程异常退出处理方法
- 数据库——MySQL
- golang tailf日志组件的基本使用
- 想知道PDF转Word软件免费有哪些吗?试试这3款工具
- 微信小程序链接快速生成方法
- java ruby 比较_java和ruby的一些比较
- 网络基础知识之IP与子网掩码和网络地址
- 使用jol如何判断一个对象当前处于哪种锁
热门文章
- 决策树缺失值python_【机器学习笔记之二】决策树的python实现
- php mysql 编码转换_PHP编码转换函数应用
- python的socket编程接收浏览器上传的文件_使用python套接字编程将文件发送到浏览器...
- C标签加EL表达式在jsp页面实现遍历后台内容
- mysql 存储过程简单使用_mysql存储过程的简单使用教程
- mysql 无符号 负数_mysql下有符号数和无符号数的相关问题
- 载波聚合或双连接的方式进行_首发天玑1000+!iQOO Z1来了:5G+5G双卡双待、双WiFi 6...
- linux mac docky,Ubuntu 7.10中安装酷酷的MAC风格 dock(图)
- Java继承_深入理解Java继承、封装、多态的实现原理
- c开头英文语言,C开头的考研英语词汇