2.2.3.4.4 TXUSER_DTCLURECOVERYINITIATEDBYDTC_MTAG_WORK_TRANS

The TXUSER_DTCLURECOVERYINITIATEDBYDTC_MTAG_WORK_TRANS message is sent by a transaction manager to initiate recovery for a pair of logical units identified by the LU Name Pair specified by a previous TXUSER_DTCLURECOVERYINITIATEDBYDTC_MTAG_GETWORK message.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

MsgHeader (24 bytes)

...

...

RecoverySeqNum

Xln

dwProtocol

OurLogName (variable)

...

RemoteLogName (variable)

...

MsgHeader (24 bytes): This field MUST contain a MESSAGE_PACKET structure.

  • The value of the dwUserMsgType field MUST be 0x00004404.

  • The value of the dwcbVarLenData field MUST be at least 20.

RecoverySeqNum (4 bytes): A 32-bit signed integer that MUST contain the value for the recovery sequence number of a local LU held by a transaction manager.

Xln (4 bytes): This field MUST contain the log status of a local LU held by a transaction manager. The value MUST be one defined by the DTCLUXLN enumeration.

dwProtocol (4 bytes): A 32-bit unsigned integer that MUST contain 0.

OurLogName (variable): This field MUST contain a DTCLU_VARLEN_BYTEARRAY structure which contains the local log name held by a transaction manager. If cbLength is not a multiple of 4, the end of the field MUST be aligned on a 4-byte boundary by padding with arbitrary values that MUST be ignored on receipt.

RemoteLogName (variable): This field MUST contain a DTCLU_VARLEN_BYTEARRAY structure which either has the cbLength field set to 0, or contains the remote log name supplied by a remote LU. If cbLength is not a multiple of 4, the end of the field MUST be aligned on a 4-byte boundary by padding with arbitrary values that MUST be ignored on receipt.