2.9.311 TBDelta

The TBDelta structure specifies a toolbar delta. When the toolbar delta involves adding or modifying a toolbar control, the affected toolbar control is stored in the rtbdc array of the CTBWRAPPER structure that contains the rCustomizations array, that contains the Customization structure that contains the customizationData array, that contains this structure.


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

A

B

reserved1

ibts

cidNext

...

cid

...

fc

...

C

iTB

D

E

cbTBC

A - dopr (2 bits): These bits specify the type of toolbar delta operation. This MUST be one of the following values.

Value

(Binary value in parenthesis)

Meaning

0x00 (00)

Change a toolbar control.

0x01 (01)

Insert a toolbar control.

0x02 (10)

Modify a toolbar control.

B - fAtEnd (1 bit): A bit that specifies if the toolbar control that is associated with this TBDelta was inserted at the end of the toolbar at the time the toolbar delta was created. A value of 1 specifies that the toolbar control that is associated with this TBDelta was inserted at the end of the toolbar. This bit MUST be 0 if dopr is not equal to 1.

reserved1 (5 bits): This value MUST be 0 and MUST be ignored.

ibts (8 bits): An unsigned integer that specifies the zero-based index of the toolbar control that was associated with this TBDelta in the toolbar at the time that the toolbar delta was created. It is possible for more than one TBDelta structure that affects the same toolbar to have the same value in the ibts field. This is because this field specifies the index of the toolbar control that was associated with the TBDelta in the toolbar at the time the toolbar delta was created.

cidNext (4 bytes): A signed integer value. This value MUST be one of the following.

Condition

Value of cidNext

dopr equals 1 and fAtEnd equals 1

0xFFFFFFFF

dopr equals 1, fAtEnd equals 0, and the toolbar control after the inserted toolbar control associated to this TBDelta at the time the TBDelta was created is not a custom toolbar control

A structure of type Cid that specifies the command identifier, at the time the toolbar delta was created, for the toolbar control after the inserted toolbar control associated to this TBDelta. Toolbar controls MUST only have Cid structures that have Cmt values equal to 0x0001 or 0x0003.

dopr equals 1, fAtEnd equals 0, and the toolbar control after the inserted toolbar control associated to this TBDelta at the time the TBDelta was created is a custom toolbar control

0x00001EF9

dopr equals 0

cidNext equals cid.

dopr equals 2 and the toolbar control after the deleted toolbar control that was associated with this TBDelta at the time the TBDelta was created is not a custom toolbar control

A structure of type Cid that specifies the command identifier at the time that the toolbar delta was created for the toolbar control after the deleted toolbar control was associated with this TBDelta. Toolbar controls MUST only have Cid structures that have Cmt values equal to 0x0001 or 0x0003.

dopr equals 2 and the toolbar control after the deleted toolbar control associated to this TBDelta at the time the TBDelta was created is a custom toolbar control

0x00001EF9

cid (4 bytes): A structure of type Cid that specifies the command identifier for the toolbar control that is associated with this TBDelta. Toolbar controls MUST only have Cid structures that have Cmt values equal to 0x0001 or 0x0003.

fc (4 bytes): An unsigned integer that specifies the file offset in the Table Stream where the toolbar control that is associated with this TBDelta is stored. This value MUST be 0x00000000 if fOnDisk is not equal to 1.

C - fOnDisk (1 bit): A bit that specifies if a toolbar control that is associated with this TBDelta was written to the file. A value of 1 specifies that a toolbar control that is associated with this TBDelta was written to the file. This value MUST be 1 if dopr is equal to 0 or 1.

iTB (13 bits): This field MUST be used only when the toolbar control that is associated with this TBDelta is a custom toolbar control that drops a custom menu toolbar. This is an unsigned integer that specifies the index to the Customization structure, contained in the rCustomizations array, that also contains the Customization that contains the customizationData array that contains this structure, that contains the CTB structure that specifies the custom menu toolbar dropped by the toolbar control associated to this TBDelta. This value MUST be 0 if the toolbar control that is associated with this TBDelta is not a custom toolbar control that drops a custom menu toolbar. This value MUST be greater than or equal to 0 and SHOULD<255> be less than the value of the cCust field of the CTBWRAPPER structure that contains the rCustomizations array, that contains the Customization structure, that contains the customizationData array that contains this structure.

D - reserved2 (1 bit): This value MUST be 0 and MUST be ignored.

E - fDead (1 bit): A bit that specifies if the toolbar control that is associated with this TBDelta does not drop a menu toolbar. A value of 1 specifies that the toolbar control that is associated with this TBDelta does not drop a custom menu toolbar. This value MUST be 0 if the toolbar control that is associated with this TBDelta is not a custom toolbar control that drops a custom menu toolbar or if dopr is not equal to 1.

cbTBC (2 bytes): An unsigned integer that specifies the size, in bytes, of the toolbar control that is associated with this TBDelta. This field MUST only be used when fOnDisk equals 1. If fOnDisk is equal to 0, this value MUST be 0x0000.