3.2.4.16 Local LU Initiated Recovery Sending XLN Response

This event MUST be signaled by the higher-layer business logic with the following arguments:

If the Local LU Initiated Recovery Sending XLN Response event is signaled, the LU 6.2 implementation MUST perform the following actions:

  • If the provided connection state is not set to either Processing Cold XLN Request or Processing Warm XLN Request:

    • Return a failure result to the higher-layer business logic.

  • Otherwise:

    • Send a TXUSER_DTCLURECOVERYINITIATEDBYDTC_MTAG_THEIR_XLN_RESPONSE message using the provided connection:

      • The Xln field MUST be set to one of the following elements of the DTCLUXLN enumeration:

        • DTCLUXLN_WARM if the provided Remote Log Status value is Warm

        • DTCLUXLN_COLD if the provided Remote Log Status value is Cold

      • The dwProtocol field MUST be set to 0.

      • The cbLength field of the DTCLU_VARLEN_BYTEARRAY structure (contained in the RemoteLogName field) MUST be set to the number of bytes in the provided remote log name.

      • The first cbLength bytes of the rgbBlob field of the DTCLU_VARLEN_BYTEARRAY structure (contained in the RemoteLogName field) MUST be set to the provided remote log name.

      • Set the connection state to Awaiting Response To XLN.