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

时间:2015-07-13 22:48:52

标签: c++ sockets winapi winsock iocp

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

我想要做的是传递SOCKET值。

1 个答案:

答案 0 :(得分:3)

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

参见 winsock2.h:

typedef UINT_PTR SOCKET;