Gianluca Varenni wrote: > Fish wrote: > > Gianluca Varenni wrote: > > > > > 3. BIOCSETEVENTHANDLE should not be used directly > > > (the other Packet APIs might stop working properly). > > > > How so?! Please explain! > > 3. Suppose that you open a WinPcap handle with PacketOpenAdapter
Which does a CreateFile followed by a DeviceIoControl(BIOCSETEVENTHANDLE). > and then call PacketSetReadEvt. Which does a BIOCSETEVENTHANDLE to associate a [new] event handle for a given open instance. > This will create an event for you and send it to the driver with > an IOCTL. Yes: BIOCSETEVENTHANDLE. > Then the other Packet APIs will use that same event to wait for > data reception. For that open instance (i.e. Win32 HANDLE returned by CreateFile), yes. > If you set another event by sending an IOCTL directly, the other > Packet APIs will not be aware that you changed the event directly > with an IOCTL. If I use the same CreateFile HANDLE (open instance), then yes. But if I use a different CreateFile HANDLE then no. It would not impact other Packet APIs at all. The problem only occurs if I use the same CreateFile HANDLE that PacketOpenAdapter created, and then call BIOCSETEVENTHANDLE myself directly to associate a completely different event handle for that open instance. Then and ONLY then would it cause a problem. But as long as I do my own CreateFile to obtain my own HANDLE, then I can do BIOCSETEVENTHANDLE all I want an it would NOT impact the other Packet APIs at all. -- "Fish" (David B. Trout) [email protected] _______________________________________________ Winpcap-users mailing list [email protected] https://www.winpcap.org/mailman/listinfo/winpcap-users
