我发现了一些使用_ConnectEx而不是普通ConnectEx的代码。
有区别吗?
事实上我已经注意到Microsoft有一些其他函数调用,前面是下划线。这是什么动机?
答案 0 :(得分:6)
ConnectEx
不是正常导出的函数。实际上它根本不是按名称输出的。如果您阅读docs,则会发现:
必须在的位置获取ConnectEx函数的函数指针 通过调用WSAIoctl函数来运行时间 指定了SIO_GET_EXTENSION_FUNCTION_POINTER操作码。输入缓冲区 传递给WSAIoctl函数必须包含WSAID_CONNECTEX,a 全局唯一标识符(GUID),其值标识ConnectEx 扩展功能。成功时,WSAIoctl返回的输出 function包含一个指向ConnectEx函数的指针。
所以我想说你看到的代码只是使用一个名为_ConnectEx
的变量来存储函数地址。