virtual MACs from NDIS_WAN_LINE_UP/NDIS_WAN_LINE_DOWN

Home Forums Discussions Support Portal virtual MACs from NDIS_WAN_LINE_UP/NDIS_WAN_LINE_DOWN

This topic contains 2 replies, has 3 voices, and was last updated by  lovepkfilter 8 years, 1 month ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #5261

    spreadfire
    Participant

    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.

    #6766

    Vadim Smirnov
    Moderator

    WinpkFilter 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;
    #6767

    lovepkfilter
    Participant

    please make more feature on LAN non WLAN! thx! :mrgreen:

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.