有一个套接字句柄,怎么判断它的Family, Type, Protocol信息

有一个套接字句柄,如何判断它的Family, Type, Protocol信息?
现在我只拿到一个Socket的句柄,不知道其他的信息.需要知道Family, Type, Protocol的值各是多少.其中Type可以由SO_TYPE查出来,但另外两项呢?
或者说,如果我拿到一个Socket句柄,但我不知道它的类型,如何克隆这个套接字?
呃,实际上,由于windows里面AcceptEx函数要求自己构造一个套接字作为接收的套接字,如果我拿不到监听套接字的Family和Protocol,该如何构造?
谢谢.

------解决方案--------------------
Family现在除了AF_INET还有其他吗?
protocol你都说了AcceptEx了,自然不会是SOCK_DFRAM,肯定是SOCK_STREAM了。