[Winpcap-users] pcap_get_selectable_fd for WinPcap

Guy Harris guy at alum.mit.edu
Sun Apr 26 14:48:57 PDT 2009


On Apr 26, 2009, at 2:40 PM, Guy Harris wrote:

> I agree.  Welcome to the wonderful world of Windows, wherein, even if
> you *don't* use WinPcap, you have to, as far as I know, use select()
> for some events (socket events) and WaitForMultipleEvents() for other
> events (and MsgWaitForMultipleEvents() if you also need to wait for
> window system events), unless there's some way to get a waitable
> HANDLE for a socket, in which case you could use
> WaitForMultipleEvents()/MsgWaitForMultipleEvents() for everything.  It
> appears that WSAAsyncSelect() lets you turn socket events into
> *window* events, but that doesn't help for programs that aren't GUI
> programs.

Actually, it appears that, at least on Windows NT (NT 3.x, NT 4.0,  
W2K, WXP, WServer2K3, Vista, WServer2K8, W7), a SOCKET is just a HANDLE:

	http://msdn.microsoft.com/en-us/library/ms740522(VS.85).aspx

but they don't explicitly say whether it's a handle that can be used  
with WaitForMultipleEvents().

They also don't indicate what happens if you treat a HANDLE you get  
from something other than WinSock as a SOCKET and hand it to select().


More information about the Winpcap-users mailing list