Home › Forums › Discussions › Support › virtual MACs from NDIS_WAN_LINE_UP/NDIS_WAN_LINE_DOWN
- This topic has 2 replies, 3 voices, and was last updated 15 years, 9 months ago by lovepkfilter.
-
AuthorPosts
-
February 10, 2009 at 2:36 pm #5261
Good day.
When each WAN connection coming up/down, NDIS_WAN_LINE_UP/_NDIS_WAN_LINE_DOWN event fires in ndis. Each WAN connection has it’s own virtual ethernet-like MAC’s (local/remote). How can i receive this virtual local/remote MAC addresses after firing SetWanEvent of NDISWAN adapter? Better if all elements of structure would be avaible.
typedef struct _NDIS_WAN_LINE_UP {
IN ULONG LinkSpeed;
IN ULONG MaximumTotalSize;
IN NDIS_WAN_QUALITY Quality;
IN USHORT SendWindow;
IN UCHAR RemoteAddress[6];
IN OUT UCHAR LocalAddress[6];
IN ULONG ProtocolBufferLength;
IN PUCHAR ProtocolBuffer;
IN USHORT ProtocolType;
IN OUT NDIS_STRING DeviceName;
} NDIS_WAN_LINE_UP, *PNDIS_WAN_LINE_UP;typedef struct _NDIS_WAN_LINE_DOWN {
IN UCHAR RemoteAddress[6];
IN UCHAR LocalAddress[6];
} NDIS_WAN_LINE_DOWN, *PNDIS_WAN_LINE_DOWN;Thank you.
Best regards.February 17, 2009 at 7:42 am #6766WinpkFilter 3.0.4 does not support this feature. Although it was added in the development version and available to WinpkFilter customers. The new added API allows to retrieve the information about currently active WAN connections. Structures for getting this information are defined as the following:
typedef
struct _RAS_LINK_INFO
{
#define RAS_LINK_BUFFER_LENGTH 1024
ULONG LinkSpeed; // Specifies the speed of the link, in units of 100 bps.
// Zero indicates no change from the speed returned when the protocol called NdisRequest with OID_GEN_LINK_SPEED.
ULONG MaximumTotalSize; // Specifies the maximum number of bytes per packet that the protocol can send over the network.
// Zero indicates no change from the value returned when the protocol called NdisRequest with OID_GEN_MAXIMUM_TOTAL_SIZE.
UCHAR RemoteAddress [ETHER_ADDR_LENGTH]; // Represents the address of the remote node on the link in Ethernet-style format. NDISWAN supplies this value.
UCHAR LocalAddress [ETHER_ADDR_LENGTH]; // Represents the protocol-determined context for indications on this link in Ethernet-style format.
ULONG ProtocolBufferLength;// Specifies the number of bytes in the buffer at ProtocolBuffer
UCHAR ProtocolBuffer [RAS_LINK_BUFFER_LENGTH]; // Containing protocol-specific information supplied by a higher-level component that makes connections through NDISWAN
// to the appropriate protocol(s). Maximum size is 600 bytes (on Windows Vista)
} RAS_LINK_INFO, *PRAS_LINK_INFO;
typedef
struct _RAS_LINKS
{
#define RAS_LINKS_MAX 256
ULONG nNumberOfLinks;
RAS_LINK_INFO RasLinks[RAS_LINKS_MAX];
} RAS_LINKS, *PRAS_LINKS;February 19, 2009 at 11:26 am #6767please make more feature on LAN non WLAN! thx!
-
AuthorPosts
- You must be logged in to reply to this topic.