# GH_IChunk interface

Namespace: [GH_IO.Serialization](https://developer.rhino3d.com/api/gh1/namespace/gh-io.serialization.md) · Assembly: [GH_IO](https://developer.rhino3d.com/api/gh1/assembly/gh-io.md)

```cs
public interface GH_IChunk : GH_IBinarySupport, GH_IXmlSupport
```

Base interface for all Archive Chunks.

**Derived types:** [GH_IReader](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ireader.md), [GH_IWriter](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter.md)

## Properties

- [Archive](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/archive.md): Gets a pointer to the archive that owns the Root of the tree this chunk belongs to.
- [ArchiveLocation](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/archivelocation.md): Gets a string representing the URI with which the archive is associated. The location may be a null string.
- [ChunkCount](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/chunkcount.md): Gets the number of child chunks contained in this chunk. The set of all child chunks is referred to as a 'litter'.
- [Chunks](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/chunks.md): Gets a pointer to the internal list of child chunks. Do not access this list unless you know what you are doing.
- [Index](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/index.md): Gets the index of this chunk. The index is set by the owner of this chunk. Indices smaller than zero imply no index has been set. The combination of name+index is always unique among a set of chunks in the same litter.
- [ItemCount](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/itemcount.md): Gets the number of items contained in this chunk.
- [Items](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/items.md): Gets a pointer to the internal list of items. Do not access this list unless you know what you are doing.
- [Name](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/name.md): Gets the name of this chunk. The name is set by the owner of this chunk. Names must be at least 1 character long. The combination of name+index is always unique among a set of chunks in a single litter.

## Methods

- [AddMessage](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/addmessage.md): Log a new message with the top-level archive. Messages are collected during read/write operations, and can be displayed to the user upon completion using GH_Archive.ShowMessageLog().

## Inherited Members

- From [GH_IBinarySupport](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ibinarysupport.md): [Read](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ibinarysupport/read.md), [Write](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ibinarysupport/write.md)
- From [GH_IXmlSupport](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ixmlsupport.md): [Read](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ixmlsupport/read.md), [Write](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ixmlsupport/write.md)
