예제 #1
0
        // Base constructor
        protected OmReader(Om om, IntPtr handle)
        {
            this.om = om;
            Handle  = handle;

            // Get data range
            int  dataBlockSize = 0, dataOffsetBlocks = 0, dataNumBlocks = 0;
            uint startTime = 0, endTime = 0;

            OmApi.OmReaderDataRange(handle, out dataBlockSize, out dataOffsetBlocks, out dataNumBlocks, out startTime, out endTime);
            DataBlockSize    = dataBlockSize;
            DataOffsetBlocks = dataOffsetBlocks;
            DataNumBlocks    = dataNumBlocks;
            StartTime        = OmApi.OmDateTimeUnpack(startTime);
            EndTime          = OmApi.OmDateTimeUnpack(endTime);

            // Defer this
            //EnsureMetadataRead();

            // Seek
            Seek(0);
        }