yimins
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    

分类:

技术点:

相关文章: