1.7 Versioning and Capability Negotiation

This specification covers versioning issues in the following areas:

  • Protocol versions: The DirectPlay protocol has the following version levels for features:

    • Any version level between 0x00010000 and 0x00010004 implements the base features. The base features include all features described in this specification except for signing and coalescence.

    • A version level of 0x00010005 implements the base features and adds support for coalescence.

    • A version level of 0x00010006 implements the base features, supports coalescence, and adds support for signing.

    In the DirectPlay DXDiag Usage Protocol, the version level value is specified in the dwCurrentProtocolVersion field of the TRANS_COMMAND_CONNECT or TRANS_COMMAND_CONNECT_ACCEPT message.

    Note DirectPlay DXDiag Usage Protocol version numbers advertise the availability of coalescence and signing, but they do not mandate the usage of these features. Even when the recipient indicates support for coalescence or signing, the implementation can choose not to use these features.<1>

  • Capability negotiation: The DirectPlay DXDiag Usage Protocol inspects the value of the dwCurrentProtocolVersion field of the TRANS_COMMAND_CONNECT and TRANS_COMMAND_CONNECT_ACCEPT messages to identify the features that are supported by the sender and receiver. In this respect, capability negotiation is provided in a manner similar to that available in the DirectPlay 8 Protocol, as described in [MC-DPL8R] section 1.7.

Note After the release of DirectPlay 4, earlier versions of DirectPlay were modified to resolve to DirectPlay 4, as described in [MC-DPL4CS]. These versions include:<2>

  • DirectPlay (1)

  • DirectPlay 2

  • DirectPlay 2A

  • DirectPlay 3

  • DirectPlay 3A