The collection of structure nodes within the document forms a tree; each node has a
parent node and may also have sibling nodes. The idNodeParent and iSortOrder
members describe the structure of this tree. Note that a child node may or may not
appear between the DocExComment_BeginStructNode and
DocExComment_EndStructNode structures of the parent node in the EMF.
C++
The members of the DocExComment_BeginStructNode structure are as follows:
ident   Specifies the constant value, msodocexsignature, which identifies this EMF
comment as containing semantic information.
iComment   Specifies the MSODOCEXCOMMENT value,
msodocexcommentBeginStructNode.
idNodeParent   Specifies the ID of the parent node. A value of 0 specifies the root
node. A value of -1 specifies the currently open structure node, that is, the
enclosing structure node.
iSortOrder   Specifies the sort order of the structure node among its sibling nodes.
The sort order enables the add-in to order the content correctly in the exported
document.
No two nodes can have the same sort order. However, the set of integers that
constitute the sort order do not need to be contiguous.
A value of -1 indicates that the sibling order is the same order in which the nodes
appear in the EMF comments. Note that the order in which the content appears in
the EMF is not necessarily the order in which the content is consumed by a user of
the document.
desn   Specifies a MSODOCEXSTRUCTTYPE structure, which is defined earlier in
the document.
struct DocExComment_BeginStructNode
{
    DWORD ident {};
    DWORD iComment {};
    int idNodeParent {};
    int iSortOrder {};
    MSODOCEXSTRUCTNODE desn;
    BOOL fContentNode {};
    int cwchAltText {};
};