c++ - 将直接值传递给 CreateIoCompletionPort() 的 CompletionKey 参数

标签 c++ sockets winapi winsock iocp

当使用 CreateIoCompletionPort()SOCKET 与完成端口相关联时,我可以将直接值(即不是指针)传递给 CompletionKey 参数,还是只传递一个指针?

我想做的是传递 SOCKET 值。

最佳答案

CreateIoCompletionPortCompletionKey 参数是 ULONG_PTR 类型。它足够大以容纳 ULONG 或指针类型,以较大者为准。您可以传递适合 ULONG_PTR 的任何值。 SOCKET 满足这个要求。

参见winsock2.h:

typedef UINT_PTR SOCKET;

关于c++ - 将直接值传递给 CreateIoCompletionPort() 的 CompletionKey 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31394785/

相关文章:

c++ - friend 和内联方法,有什么意义?

c++ - boost::共享_??对于非指针资源

C++指针和优化

C++ 获取函数地址并在编译时对其进行操作

java - 从套接字读取 n 秒

c - 同时运行两个无限进程

代理服务器的 C# 性能(与 C++ 相比)

c++ - 强制资源从非 mfc 应用程序中的 dll 加载的 WTL 方式? (我们使用的是 WTL/ATL,而不是直接的 win32)

c# - 获取非 GDI 应用程序中的插入符位置

winapi - 使用 WinINET 为虚拟用户创建健壮的 HTTP 连接