OID_WAN_GET_COMP_INFO

The OID_WAN_GET_COMP_INFO OID requests the miniport driver to return information about the capabilities of the NIC or of its driver, in particular whether either supports compression. If so, the values returned are used to negotiate compression with the Point-to-Point Protocol (PPP) Compression Control Protocol. The protocol subsequently negotiates a compression scheme with an OID_WAN_SET_COMP_INFO request.

Compression information is returned in an NDIS_WAN_GET_COMP_INFO structure, defined as follows:

typedef struct _NDIS_WAN_GET_COMP_INFO 
   { 
      NDIS_HANDLE NdisLinkHandle; 
      NDIS_WAN_COMPRESS_INFO SendCapabilities; 
      NDIS_WAN_COMPRESS_INFO RecvCapabilities; 
   } NDIS_WAN_GET_COMP_INFO,   *PNDIS_WAN_GET_COMP_INFO;
  

The members of this structure contain the following information:

  • NdisLinkHandle
    Identifies the link. This is the handle that the miniport driver supplied in the initial line-up indication for this link.

  • SendCapabilities
    Specifies a structure containing information about compression capabilities for sending data, defined below.

  • RecvCapabilities
    Specifies a structure containing information about compression capabilities for receiving data, defined next.

The NDIS_WAN_COMPRESS_INFO structure is defined as follows:


typedef struct _NDIS_WAN_COMPRESS_INFO { 
      UCHAR SessionKey[8]; 
      ULONG MSCompType; 
    // Members above reserved to indicate NDISWAN capabilities. 
    // Members below indicate NIC-specific capabilities.
      UCHAR CompType; 
      USHORT CompLength; 
      union { 
        struct { 
           UCHAR CompOUI[3]; 
           UCHAR CompSubType; 
           UCHAR CompValues[32]; 
        } Proprietary; 
        struct { 
           UCHAR CompValues[32]; 
        } Public; 
      }; 
 } NDIS_WAN_COMPRESS_INFO;

The members of this structure contain the following information:

  • SessionKey
    Specifies a reserved variable used by NDISWAN as an encryption key. This variable should be ignored by NDIS drivers.

  • MSCompType
    Specifies what type of compression/encryption capabilities NDISWAN has and what is currently being used. This member also is reserved for use by NDISWAN and should be ignored by NDIS drivers.

  • CompType
    Specifies the compression capabilities of the NIC or its driver as one of the following system-defined values:

    • COMPTYPE_OUI
      Set if the CompOUI and CompSubType members are set.

    • COMPTYPE_NT31RAS
      Only legacy drivers that support the original RAS compression scheme set this value.

    • COMPTYPE_NONE
      Set if compression is unsupported.

  • CompLength
    Specifies the number of bytes in the CompValues member.

  • CompOUI
    Specifies a NIC vendor's IEEE-registered Organization Unique Identifier, which is the most significant three octets of an Ethernet Physical Address, assigned to the vendor by IEEE 802. This identifies the compression type as being proprietary to the vendor.

  • CompSubType
    Specifies a compression specific to the OUI and indicates a compression type for that OUI as described by IETF draft "The PPP Compression Control Protocol (CCP)."

  • CompValues
    Specifies additional data that is specific to the compression protocol.

 

 

Send comments about this topic to Microsoft