PostQueuedCompletionStatus 函数 (ioapiset.h)
将 I/O 完成数据包发布到 I/O 完成端口。
语法
BOOL PostQueuedCompletionStatus(
[in] HANDLE CompletionPort,
[in] DWORD dwNumberOfBytesTransferred,
[in] ULONG_PTR dwCompletionKey,
[in, optional] LPOVERLAPPED lpOverlapped
);
参数
[in] CompletionPort
I/O 完成数据包要发布到的 I/O 完成端口的句柄。
[in] dwNumberOfBytesTransferred
要通过 GetQueuedCompletionStatus 函数的 lpNumberOfBytesTransferred 参数返回的值。
[in] dwCompletionKey
要通过 GetQueuedCompletionStatus 函数的 lpCompletionKey 参数返回的值。
[in, optional] lpOverlapped
要通过 GetQueuedCompletionStatus 函数的 lpOverlapped 参数返回的值。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
I/O 完成数据包将满足对 GetQueuedCompletionStatus 函数的未完成调用。 此函数返回三个值,作为调用 PostQueuedCompletionStatus 的第二个、第三个和第四个参数。 系统不使用或验证这些值。 具体而言,lpOverlapped 参数无需指向 OVERLAPPED 结构。
在 Windows 8 和 Windows Server 2012 中,此函数由以下技术支持。
技术 | 支持 |
---|---|
服务器消息块 (SMB) 3.0 协议 | 是 |
SMB 3.0 透明故障转移 (TFO) | 是 |
具有横向扩展文件共享的 SMB 3.0 (SO) | 是 |
群集共享卷文件系统 (CSV) | 是 |
弹性文件系统 (ReFS) | 是 |
CsvF 将对压缩文件执行重定向 IO。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | ioapiset.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |