The STORAGELAYOUT structure describes a single block of data, including its name, location, and length. To optimize a compound file, an application or layout tool passes an array of StorageLayout structures in a call to ILayoutStorage::LayoutScript.
typedef struct tagSTORAGELAYOUT 
{ 
    DWORD           LayoutType;
    OLECHAR*        pwcsElementName;
    LARGE_INTEGER   cOffset;
    LARGE_INTEGER   cBytes;
} STORAGELAYOUT;
 RootStorageName\SubStorageName\Substream.Where LayoutType is STGTY_STORAGE, this flag should be set to zero.
Where LayoutType is STGTY_REPEAT, this flag should be set to zero.
Where LayoutType is STGTY_STREAM, cBytes specifies the number of bytes to read at offset cOffset from the stream nemaed in pwcsElementName.
Where LayoutType is STGTY_STORAGE, this flag is ignored.
Where LayoutType is STGTY_REPEAT, a positive cBytes specifies the beginning of a repeat block. STGTY_REPEAT with zero cBytes marks the end of a repeat block.
A beginning block value of STG_TOEND specifies that elements in a following block are to be repeated after each stream has been completely read.
An array of StorageLayout structures might appear as follows:
StorageLayout arrScript[]=
    // Read first 2k of "WordDocument" stream
    {STGTY_STREAM,L"WordDocument",{0,0},{0,2048}},
 
    //Test if "ObjectPool\88112233" storage exists
    {STGTY_STORAGE,L"ObjectPool\\88112233",{0,0},{0,0}},
 
    //Read 2k at offset 1048 of "WordDocument" stream
    {STGTY_STREAM,L"WordDocument",{0,10480},{0,2048}},
 
    //Interlace "Audio", "Video", and "Caption" streams
    {STGTY_REPEAT,NULL,0,STG_TOEND},
        {STGTY_STREAM,L"Audio", {0,0},{0,2048}},    // 2k of Audio
        {STGTY_STREAM,L"Video", {0,0},{0,65536}},   // 64k of Video
        {STGTY_STREAM,L"Caption", {0,0},{0,128}},   // 128b of text
    {STGTY_REPEAT,NULL, {0,0},{0,0}}
};
 Note The parameters cOffset and cBytes are LARGE_INTEGER structures and they must be represented as a structure with {LARGE_INTEGER} or {DWORD lowpart, LONG highpart}.
  Windows NT: Use version 5.0 or later.
  Windows: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in objidl.h.