ChildDocument Class

Represents an attachment or embedded item that is extracted from another document such as an email, document container (e.g., archive or media image), or word processing document.

Definition

Namespace: OpenDiscoverSDK.Interfaces.Content
Assembly: OpenDiscoverSDK.Interfaces (in OpenDiscoverSDK.Interfaces.dll) Version: 2026.2.6.0 (2026.02.06)
C#
[DataContractAttribute]
public class ChildDocument
Inheritance
Object    ChildDocument

Remarks

To get the content of each child document make an SDK API call to OpenDiscoverSDK.ContentExtractorFactory.GetContentExtractor for each child document.

The maximum attachment or embedded item size that can be extracted from a non-container (archive or mail store) is slightly less than 2GB. The maximum index in any .NET single array dimension is 2,147,483,591 (0x7FFFFFC7) for byte arrays, so this is the exact maximum item size in bytes. The child item will be marked with an error (see HasError) and the item's raw data will not be contained by the DocumentBytes property.

NOTE: archives (.7z, .zip, .rar, etc.), media images, and mail stores (.pst, .ost, .mbox, etc.) have special use cases for ChildDocument. See ChildDocuments remarks for these special use cases.

Constructors

Properties

ArchiveBlock Archive block index this child document resides in. This property is only valid for child documents in 'solid' compressed archives such as RAR or 7-zip.
ContainerComment Parent container comment associated with this contained document. Some archive container types support user comments for container items.
ContainerRelativePath Relative path of the child document inside its parent document container.
CreationTimeFileSystem Document's file system creation time. If this value is not set for the child (embedded/contained) document then the value could not be retrieved from the parent container document.
DocumentBytes Document's (file) bytes. This value is the child document in memory as a byte array.
EncryptedInContainer If true, this child document is encrypted inside of its parent container. This property only applies to archive child documents. Some archive types can have different passwords for each encrypted child document.
EntryId Entry ID for Outlook PST/OST extracted message objects in hexadecimal string format.
ErrorMessage Extraction error message. This value will be non-null if property HasError is true.
Extension Document file extension (if it exists).
FormatId Document file format identification result.
HasError Error extracting document from parent. See property ErrorMessage for the error message.
Index Zero-offset index of the document in the order it is found embedded in its parent container document or for special cases like Microsoft Outlook PSTs, the internal node Id of the message object.
InlineImageContentId If IsInlineEmailImage is true; then if it exists, this property contains the "Content-ID" header value of the inline image.
IsEmbedded If true, this child document is embedded in a Microsoft Office document.
IsInlineEmailImage If true, this child document is an email inline image attachment.
LastAccessTimeFileSystem Document's file system last access time. If this value is not set for the child (embedded/contained) document then the value could not be retrieved from the parent container document.
LastModifiedTimeFileSystem Document's file system last modified time. If this value is not set for the child (embedded/contained) document then the value could not be retrieved from the parent container document.
Name File name of the child document as stored inside its parent container document with extension.
NodeId Node ID of child item, if it is defined. NodeId will only be defined for some child items like children of Outlook PST/OST mail stores or any other container format that has an internal and accessible child item unique identifier.
OriginalFilePath Embedded document original file path. Some embedded documents with container wrappers store the location from where the embedded child document was originally located on the file system before being embedded into the parent container. For most child documents, this value will be null.
PackedSize Document's packed size, in bytes, within its parent archive container. If the item is compressed in the parent container then this value is the compressed size. This property only applies to archive child documents and to the archive formats that store this item metadata.
Size Document's size, in bytes. If child document is an archive item then this is the expanded size of the item.
Tag Associates a user object with this child document object.
TestedResult RESERVED for user. This property is reserved for archive items that have been tested for extraction and actual expanded size (see also TestedSize) by user. This property and the related property TestedSize are not set by SDK and are reserved for user to set after testing archive items. See methods TestItem(Int32, Int64, String) and TestSolidBlockItems(ItemTestFinishedCallback, String) for more information on testing archives.
TestedSize RESERVED for user. This property is reserved for archive items that have been tested for expanded (de-compressed) size (see also TestedResult) by user. This property and the related property TestedResult are not set by SDK and are reserved for user to set after testing archive items. See methods TestItem(Int32, Int64, String) and TestSolidBlockItems(ItemTestFinishedCallback, String) for more information on testing archives.

Methods

EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
ToStringReturns a string that represents the current object.
(Inherited from Object)

See Also