当前位置:首页 科普知识 WriteFileEx

WriteFileEx

发布时间:2023-09-06 21:59:53

WriteFileEx是一个Windows API函数。它与WriteFile类似,只是它只能用于异步写操作,并包括了一个完整的回调。

WriteFileEx详细介绍

WriteFileEx是一个Windows API函数。它与WriteFile类似,只是它只能用于异步写操作,并包括了一个完整的回调。

WriteFileEx语法

BOOL WINAPIWriteFileEx(

HANDLEhFile,

LPCVOIDlpBuffer,

DWORDnNumberOfBytesToWrite,

LPOVERLAPPEDlpOverlapped,

LPOVERLAPPED_COMPLETION_ROUTINElpCompletionRoutine

);

WriteFileExVB声明

Declare Function WriteFileEx Lib "kernel32" Alias "WriteFileEx" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpOverlapped As OVERLAPPED, ByVal lpCompletionRoutine As Long) As Long

WriteFileEx参数

hFile

文件的句柄。这个参数可以是任何一个由带有FILE_FLAG_OVERLAPPED参数的CreateFile函数打开的句柄。这个句柄同时也需要有GENERIC_WRITE访问权限。

lpBuffer

指定一个缓冲区,其中包含了要写入的数据。除非写操作完成,否则不要访问这个缓冲区 。

nNumberOfBytesToWrite

要写入数据的字节量。

lpOverlapped

一个指向OVERLAPPED类型的结构体指针,定义了一次异步写操作的结构。使用这个函数时,结构中的hEvent字段会被忽略。

lpCompletionRoutine

回调函数的值。

WriteFileEx返回值

非零表示成功,否则返回零。要得到额外的错误信息,调用GetLastError。

WriteFileEx注解

并不是每种操作系统都支持在任何类型的设备上进行异步操作。windows 95不支持对磁盘文件的重叠读取操作。

在Windows 8和Windows Server 2012中,这个函数也被下列技术所支持:

技术

支持

Server Message Block(SMB) 3.0 protocol

SMB 3.0 Transparent Failover (TFO)

SMB 3.0 with Scale-out File Shares (SO)

Cluster Shared Volume File System (CsvFS)

弹性文件系统 (ReFS)

WriteFileEx需求

客户端

需要Windows XP、Windows 2000 Professional、Windows NT Workstation、Windows Me、Windows 98或Windows 95。

服务器

需要Windows Server 2003、Windows 2000 Server或Windows NT Server。

头文件

在Winbase.h中声明,包含于Windows.h。

库文件

Kernel32.lib。

DLL

需要Kernel32.dll。

温馨提示:
本文【WriteFileEx】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6