win32 WriteFile

参考网址:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa365747(v=vs.85).aspx

写数据到指定的文件或者设备。
这个函数被设计为同步的或者异步的操作。
一个类似的用来只针对异步操作的函数,名字是WriteFileEx
函数原型:

BOOL WINAPI WriteFile(
  _In_        HANDLE       hFile,
  _In_        LPCVOID      lpBuffer,
  _In_        DWORD        nNumberOfBytesToWrite,
  _Out_opt_   LPDWORD      lpNumberOfBytesWritten,
  _Inout_opt_ LPOVERLAPPED lpOverlapped
);
hFile

文件句柄
该句柄必须是可写的
对于异步的写操作,hFile 可以是CreateFile函数使用FILE_FLAG_OVERLAPPED标志打开的,或者是socket 或者accept 函数返回的。

lpBuffer [in]

指针指向要写到文件或者设备的数据的缓冲区
在写的工程中,buffer需要保持有效。用户在写操作完成之前 不能使用这个buffer。

nNumberOfBytesToWrite [in]

要写到文件中的字节数
这个值如果是0,表示是一个空写操作,空写操作的行为和底层文件系统或者通信技术有关。

lpNumberOfBytesWritten [out, optional]

通过同步操作已经写入文件的字节数。WriteFile在做任何工作之前会将该值初始化为0.
作为异步操作的时候,为了避免错误操作,可以将这个值设置为NULL

只有lpOverlapped 不为NULL的时候,这个参数才能够是NULL。

lpOverlapped [in, out, optional]

一个指向OVERLAPPED structure的指针,
当文件是使用FILE_FLAG_OVERLAPPED标志打开的时候,需要这个指针。
其他的情况下,这个指针设置为NULL

返回值

如果函数正确返回,返回值是非0(TRUE)

如果函数失败,或者正在进行异步操作,返回(FALSE)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值