The members of the MSODOCEXOUTLINENODE are described as follows:
idNode   The ID for the node. A value of -1 indicates that this node cannot have
child nodes in the outline. Otherwise, this member has a value that is unique across
the document.
rgwchNodeText   A Unicode string that represents the title text for each node. This
text is not required to be unique across the outline.
iDestPage   The page number of the page that contains the destination location
within the document.
dytfvDestPage   The height of the destination page in points. The offset specified
by the dytfvDestOffset member is relative to the upper-left corner of the page.
However, some fixed-format types use a coordinate system that is relative to the
bottom-left corner of the page. For these types of documents, the page height is
required to convert the offset.
dxtfvDestOffset   The horizontal offset of the destination location on the
destination page.
dytfvDestOffset   The vertical offset of the destination location on the destination
page.
Publisher calls the HrAddDocumentMetadataString method to specify document
metadata in the form of a Unicode string.
C++
    int idNode {};
    WCHAR rgwchNodeText[cwchMaxNodeText];
    int iDestPage {};
    float dytfvDestPage {};
    float dxtfvDestOffset {};
    float dytfvDestOffset {};
} MSODOCEXOUTLINENODE;
HrAddDocumentMetadataString
HRESULT HrAddDocumentMetadataString(
    MSODOCEXMETADATA metadataType, 
    const WCHAR* pwchValue
);