//------------------------------------------------------------ // CSourceData.LookupNode //------------------------------------------------------------ //STDMETHODIMP CSourceData::LookupNode ( // NAME *pKey, long iOrdinal, BASENODE **ppNode, long *piGlobalOrdinal) //virtual internal int LookupNode( // ref string pKey, int iOrdinal, ref BASENODE ppNode, ref int piGlobalOrdinal) //{ // return sourceModuleBase.LookupNode (this, pKey, iOrdinal, ppNode, piGlobalOrdinal); //} //------------------------------------------------------------ // CSourceData.GetNodeKeyOrdinal //------------------------------------------------------------ //STDMETHODIMP CSourceData::GetNodeKeyOrdinal (BASENODE *pNode, NAME **ppKey, long *piKeyOrdinal) //virtual internal int GetNodeKeyOrdinal(BASENODE pNode, ref string ppKey, ref int piKeyOrdinal) //{ // return sourceModuleBase.GetNodeKeyOrdinal (this, pNode, ppKey, piKeyOrdinal); //} //------------------------------------------------------------ // CSourceData.GetGlobalKeyArray //------------------------------------------------------------ //STDMETHODIMP CSourceData::GetGlobalKeyArray (KEYEDNODE *pKeyedNodes, long iSize, long *piCopied) //virtual internal int GetGlobalKeyArray(KEYEDNODE pKeyedNodes, int iSize, ref int piCopied) //{ // return sourceModuleBase.GetGlobalKeyArray (this, pKeyedNodes, iSize, piCopied); //} //------------------------------------------------------------ // CSourceData.ParseForErrors //------------------------------------------------------------ //STDMETHODIMP CSourceData::ParseForErrors () //virtual internal int ParseForErrors() //{ // return sourceModuleBase.ParseForErrors (this); //} //------------------------------------------------------------ // CSourceData.FindLeafNode //------------------------------------------------------------ //STDMETHODIMP CSourceData::FindLeafNode ( // const POSDATA pos, BASENODE **ppNode, ICSInteriorTree **ppTree) //virtual internal int FindLeafNode(POSDATA pos, ref BASENODE ppNode, ref CInteriorTree ppTree) //{ // return FindLeafNodeEx(pos, EF_FULL, ppNode, ppTree); //} //------------------------------------------------------------ // CSourceData.FindLeafNodeForToken //------------------------------------------------------------ //STDMETHODIMP CSourceData::FindLeafNodeForToken ( // long iToken, BASENODE **ppNode, ICSInteriorTree **ppTree) //virtual internal int FindLeafNodeForToken( // int iToken, ref BASENODE ppNode, ref CInteriorTree ppTree) //{ // return FindLeafNodeForTokenEx(iToken, EF_FULL, ppNode, ppTree); //} //------------------------------------------------------------ // CSourceData.FindLeafNodeEx //------------------------------------------------------------ //STDMETHODIMP CSourceData::FindLeafNodeEx ( // const POSDATA pos, ExtentFlags flags, BASENODE **ppNode, ICSInteriorTree **ppTree) //virtual internal int FindLeafNodeEx( // POSDATA pos, ExtentFlags flags, ref BASENODE ppNode, ref CInteriorTree ppTree) //{ // return sourceModuleBase.FindLeafNodeEx (this, pos, flags, ppNode, ppTree); //} //------------------------------------------------------------ // CSourceData.FindLeafNodeForTokenEx //------------------------------------------------------------ //STDMETHODIMP CSourceData::FindLeafNodeForTokenEx ( // long iToken, ExtentFlags flags, BASENODE **ppNode, ICSInteriorTree **ppTree) //virtual internal int FindLeafNodeForTokenEx( // int iToken, ExtentFlags flags, ref BASENODE ppNode, ref CInteriorTree ppTree) //{ // return sourceModuleBase.FindLeafNodeForTokenEx (this, iToken, flags, ppNode, ppTree); //} //------------------------------------------------------------ // CSourceData.GetExtent //------------------------------------------------------------ //virtual internal int GetExtent(BASENODE pNode, POSDATA pposStart, POSDATA pposEnd) //{ //} //STDMETHODIMP CSourceData::GetExtent(BASENODE *pNode, POSDATA *pposStart, POSDATA *pposEnd) { // return GetExtentEx( pNode, pposStart, pposEnd, EF_FULL); //}; //------------------------------------------------------------ // CSourceData.GetExtentEx // /// <summary></summary> /// <param name="node"></param> /// <param name="start"></param> /// <param name="end"></param> /// <param name="flags"></param> /// <returns></returns> //------------------------------------------------------------ virtual internal bool GetExtentEx( BASENODE node, POSDATA start, POSDATA end, ExtentFlags flags) { return(sourceModuleBase.GetExtent(node, start, end, flags)); }
public ExtentRecord(List <DatabaseRecordFragment> fragments) : base(fragments) { // Data begins at 0x10 (VBLK header is at 0x00) int offset = 0x00; // relative to Data ReadCommonFields(this.Data, ref offset); if (RecordRevision != 3) { throw new NotImplementedException("Unsupported record revision"); } ExtentFlags = (ExtentFlags)BigEndianReader.ReadUInt32(this.Data, ref offset); CommitTransactionID = BigEndianReader.ReadUInt64(this.Data, ref offset); DiskOffsetLBA = BigEndianReader.ReadUInt64(this.Data, ref offset); OffsetInColumnLBA = BigEndianReader.ReadUInt64(this.Data, ref offset); SizeLBA = ReadVarULong(this.Data, ref offset); ComponentId = ReadVarULong(this.Data, ref offset); DiskId = ReadVarULong(this.Data, ref offset); if (HasColumnIndexFlag) { ColumnIndex = ReadVarUInt(this.Data, ref offset); } if (HasUnknownTransactionIDFlag) { UnknownTransactionID = BigEndianReader.ReadUInt64(this.Data, ref offset); } if (HasUnknown1Flag) { Unknown1 = ReadVarUInt(this.Data, ref offset); } if (HasHiddenFlag) { HiddenCount = ReadVarULong(this.Data, ref offset); } }