Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Log / System / IO / Log / FileLogRecordHeader.cs / 1 / FileLogRecordHeader.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IO.Log { using System.IO; using System.Diagnostics; internal struct FileLogRecordHeader { [Flags] enum LowFlags : byte { RestartArea = 0x01 } internal const int Size = 20; internal const byte MAJORVER = 1; internal const byte MINORVER = 0; const int MajorVersionOffset = 0; const int MinorVersionOffset = 1; const int LowFlagsOffset = 2; const int HighFlagsOffset = 3; const int PreviousLsnOffsetHigh = 4; const int NextUndoLsnOffsetHigh = 12; byte[] bits; internal FileLogRecordHeader(byte[] bits) { if (bits == null) { this.bits = new Byte[Size]; this.bits[MajorVersionOffset] = MAJORVER; this.bits[MinorVersionOffset] = MINORVER; } else { if (bits.Length < Size) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.LogCorrupt()); } // if version not supported then ??? if (bits[MajorVersionOffset] != MAJORVER) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.IncompatibleVersion()); this.bits = bits; } } internal bool IsRestartArea { get { return (((LowFlags)bits[LowFlagsOffset] & LowFlags.RestartArea) != 0); } set { LowFlags flags = (LowFlags)bits[LowFlagsOffset]; if (value) flags |= LowFlags.RestartArea; else flags &= ~LowFlags.RestartArea; bits[LowFlagsOffset] = (byte)(flags); } } internal SequenceNumber PreviousLsn { get { return new SequenceNumber( BitConverter.ToUInt64(this.bits, PreviousLsnOffsetHigh)); } set { SequenceNumber.WriteUInt64(value.High, this.bits, PreviousLsnOffsetHigh); } } internal SequenceNumber NextUndoLsn { get { return new SequenceNumber(BitConverter.ToUInt64(this.bits, NextUndoLsnOffsetHigh)); } set { SequenceNumber.WriteUInt64(value.High, this.bits, NextUndoLsnOffsetHigh); } } internal byte[] Bits { get { return this.bits; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ClientTargetCollection.cs
- ToolStripComboBox.cs
- PrivateFontCollection.cs
- UInt16Storage.cs
- XmlObjectSerializerReadContext.cs
- BuildProviderCollection.cs
- RedirectionProxy.cs
- Section.cs
- FixedSOMLineRanges.cs
- BoundPropertyEntry.cs
- DecimalAnimation.cs
- ConnectionProviderAttribute.cs
- CombinedGeometry.cs
- PolicyStatement.cs
- Menu.cs
- QilStrConcatenator.cs
- XmlWrappingWriter.cs
- SchemaEntity.cs
- BinaryObjectReader.cs
- X509Extension.cs
- TextTreeTextElementNode.cs
- ComplexTypeEmitter.cs
- InputReportEventArgs.cs
- FastPropertyAccessor.cs
- AuthenticationConfig.cs
- TypeLibConverter.cs
- DateTimeValueSerializerContext.cs
- DrawingVisualDrawingContext.cs
- RequestCacheValidator.cs
- Single.cs
- HitTestParameters.cs
- MissingFieldException.cs
- CompModSwitches.cs
- DbException.cs
- InteropTrackingRecord.cs
- CfgParser.cs
- BitmapEffectDrawing.cs
- IntegerValidator.cs
- HtmlTableRow.cs
- TextDecorationUnitValidation.cs
- ConfigurationValues.cs
- ListViewInsertEventArgs.cs
- TimeSpanValidator.cs
- WebPartTransformerCollection.cs
- PrivacyNoticeBindingElement.cs
- TypeElement.cs
- HttpGetClientProtocol.cs
- ProvidersHelper.cs
- ManifestSignedXml.cs
- ChannelManager.cs
- ApplyTemplatesAction.cs
- LogicalExpr.cs
- Button.cs
- LoginCancelEventArgs.cs
- BorderSidesEditor.cs
- IdleTimeoutMonitor.cs
- PrintEvent.cs
- CSharpCodeProvider.cs
- ArcSegment.cs
- DoubleCollectionConverter.cs
- DataFieldConverter.cs
- FrameworkTemplate.cs
- ContextStack.cs
- DataGridTablesFactory.cs
- EntityAdapter.cs
- MatrixTransform3D.cs
- TrackingParameters.cs
- PositiveTimeSpanValidatorAttribute.cs
- InternalSafeNativeMethods.cs
- ModelPropertyDescriptor.cs
- ConfigXmlReader.cs
- InputChannelBinder.cs
- XmlSchemaSubstitutionGroup.cs
- TdsParserHelperClasses.cs
- MsmqInputChannel.cs
- WizardDesigner.cs
- SortedSetDebugView.cs
- XmlSchemaComplexType.cs
- DataBindingExpressionBuilder.cs
- URLMembershipCondition.cs
- PrintingPermissionAttribute.cs
- FrameworkElementFactory.cs
- EntityContainerEntitySet.cs
- MetadataFile.cs
- FieldDescriptor.cs
- InfoCardProofToken.cs
- MediaScriptCommandRoutedEventArgs.cs
- ComponentSerializationService.cs
- RegexReplacement.cs
- NoResizeHandleGlyph.cs
- BooleanFunctions.cs
- OracleCommand.cs
- WmlLiteralTextAdapter.cs
- JsonReader.cs
- CrossContextChannel.cs
- SpnEndpointIdentityExtension.cs
- Enlistment.cs
- ByteStorage.cs
- GraphicsContainer.cs
- CommandBindingCollection.cs