世界杯2018_世界杯北美区预选赛 - jmkxjj.com

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

2025-07-08 00:21:13
友情链接