CO_ADDRESS_FAMILY structure

Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.

The CO_ADDRESS_FAMILY structure specifies the type and version of signaling protocol used by a call manager or an MCM driver.

Syntax

typedef struct {
  NDIS_AF AddressFamily;
  ULONG   MajorVersion;
  ULONG   MinorVersion;
} CO_ADDRESS_FAMILY, *PCO_ADDRESS_FAMILY;

Members

  • AddressFamily
    Specifies the type of signaling protocol used by a call manager or an MCM driver. The following types are supported:

    • CO_ADDRESS_FAMILY_Q2931
      Specifies the Q.2931 signaling protocol.

    • CO_ADDRESS_FAMILY_PSCHED
      Specifies the Microsoft Packet Scheduling Protocol, which is a policy-based protocol that imposes transmission bandwidth limits on clients. The Microsoft Packet Scheduling Protocol is used over an RSVP (Resource Reservation Protocol) connection.

    • CO_ADDRESS_FAMILY_L2TP
      Specifies the Layer 2 Tunneling Protocol.

    • CO_ADDRESS_FAMILY_IRDA
      Specifies the IrDA signaling protocol.

    • CO_ADDRESS_FAMILY_1394
      Specifies the IEEE 1394 bus signaling protocol.

    • CO_ADDRESS_FAMILY_PPP
      Specifies the Point-to-Point Protocol (PPP).

    • CO_ADDRESS_FAMILY_TAPI
      Specifies the TAPI signaling protocol.

    • CO_ADDRESS_FAMILY_TAPI_PROXY
      Specifies the Microsoft-supplied TAPI proxy, which is a call manager that proxies TAPI calls for a connection-oriented call manager.

  • MajorVersion
    Specifies the major version number of the signaling protocol.

  • MinorVersion
    Specifies the minor version number of the signaling protocol.

Remarks

When a call manager or MCM driver registers with NDIS by calling NdisCmRegisterAddressFamily or NdisMCmRegisterAddressFamily, it passes a CO_ADDRESS_FAMILY structure to NDIS that advertises the call-specific signaling services provided by that call manager. NdisCmRegisterAddressFamily or NdisMCmRegisterAddressFamily also passes an NdisBindingHandle that identifies the target NIC or the virtual adapter. An address family is always associated with a particular call manager and a particular NIC.

After a call manager registers an address family, NDIS calls the ProtocolCoRegisterAfNotify function of each client bound to the NIC associated with the address family. In the call to ProtocolCoRegisterAfNotify, NDIS passes the address family in a CO_ADDRESS_FAMILY structure to each client.

Each client's ProtocolCoRegisterAfNotify function checks the input buffer at AddressFamily to determine whether the client recognizes the call manager or MCM driver and the registered address family. If the client recognizes the call manager and the registered address family, it calls NdisClOpenAddressFamily from its ProtocolCoAfRegisterNotify function to register its handlers with NDIS. The call to NdisClOpenAddressFamily also passes the registered address family to the call manager's ProtocolCmOpenAf function in a CO_ADDRESS_FAMILY structure. The ProtocolCmOpenAf function ensures that the client has passed in a valid address family structure.

Requirements

Header

Ndis.h (include Ndis.h)

See also

MiniportInitialize

NdisClOpenAddressFamily

NdisCmRegisterAddressFamily

NdisMCmRegisterAddressFamily

ProtocolCmOpenAf

ProtocolCoAfRegisterNotify

Send comments about this topic to Microsoft