ICabNode::Insert Method

From Tracker Software PDF SDK
Jump to: navigation, search

Inserts a new subnode into the container node.


HRESULT Insert([in, optional]                  VARIANT        itemIdentity,
               [in, defaultvalue(dt_Invalid)]  CabDataTypeID  nType,
               [out, retval]                   ICabNode**     pNode);


[in, optional] VARIANT.

Specifies the new node position. For array containers it is interpreted as an integer index the new node has to be inserted before. For dictionary containers it specifies a string key to associate with the new node. If the dictionary already has a node with this key, the existing node will be returned.

[in, defaultvalue(dt_Invalid)] Value of CabDataTypeID.

Specifies the node type.

For templatized containers the type is checked against the container template. When itemIdentity identifies an existing dictionary node, the type is checked against the existing node type.

If the type value is dt_Undefined, the type check semantics is actually a type resolution - the resulting node type is the type the checking is made against.

[out, retval] Pointer to ICabNode.

The address of a pointer variable that receives the pointer to the resulting cab node.

Return Value

Returns S_OK if operation was successful or error code in other cases.

See Also