Browsing through Packet32.c, I noted at some places GlobalAllocPtr()
is used instead of simply a local PACKET_OID_DATA + suitable buffer
when calling PacketRequest(). e.g. in PacketSetMaxLookaheadsize().

Is there any "hidden" reason for this? Since overlapped I/O isn't used, I 
assume it's safe to use automatic variables for this. Like:

struct {
  PACKET_OID_DATA  OidData;
  DWORD buf [WHATEVER];
} oid;
// clear and setup oid.OidData.Length etc.

PacketRequest (adapter, FALSE, &oid.OidData);

Another thing I try to figure out is how to stop NDIS from looping what 
I send (even in NDIS_PACKET_TYPE_ALL_LOCAL mode). Ref. 
Thomsen's other thread on this. I successfully got the MAC options 
(value 0x97) using OID_GEN_MAC_OPTIONS. The value AFAICS means
copy lookahead, receiver serialised etc. What the high nibble mean, I've no
idea. Is that vendor specific?

But trying to write it back only setting the NDIS_MAC_OPTION_NO_LOOPBACK
(0x80) bit, gives an error 23 (ERROR_CRC). Any idea why? Or is not possible 
to do from a user-app at all?

--gv




==================================================================
 This is the WinPcap users list. It is archived at
 http://www.mail-archive.com/[EMAIL PROTECTED]/

 To unsubscribe use 
 mailto: [EMAIL PROTECTED]
==================================================================

Reply via email to