Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Log / System / IO / Log / FileLogRecordHeader.cs / 1305376 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SynthesizerStateChangedEventArgs.cs
- ContractMapping.cs
- CustomError.cs
- SingleAnimationBase.cs
- SafeFileHandle.cs
- File.cs
- CultureSpecificCharacterBufferRange.cs
- XmlDataCollection.cs
- StateMachineHelpers.cs
- StateBag.cs
- FormattedText.cs
- MatchAttribute.cs
- PlatformNotSupportedException.cs
- SerializationEventsCache.cs
- RelationshipNavigation.cs
- DownloadProgressEventArgs.cs
- NetworkAddressChange.cs
- SelectedCellsChangedEventArgs.cs
- ConditionalAttribute.cs
- Emitter.cs
- XmlTypeAttribute.cs
- HitTestResult.cs
- IOException.cs
- DataViewManager.cs
- DialogResultConverter.cs
- EncryptedPackageFilter.cs
- TextEmbeddedObject.cs
- PenLineJoinValidation.cs
- SafeNativeMethods.cs
- GridViewUpdatedEventArgs.cs
- FormViewPageEventArgs.cs
- DragEvent.cs
- TextRunTypographyProperties.cs
- CompoundFileReference.cs
- ActivityBuilderHelper.cs
- Control.cs
- SendAgentStatusRequest.cs
- GroupItem.cs
- SQLByteStorage.cs
- SchemaCompiler.cs
- ApplicationServiceHelper.cs
- HtmlInputImage.cs
- PocoEntityKeyStrategy.cs
- HexParser.cs
- AnnouncementClient.cs
- SerializationObjectManager.cs
- ContourSegment.cs
- ScriptControlManager.cs
- WindowsGraphicsWrapper.cs
- BooleanAnimationUsingKeyFrames.cs
- ListViewCommandEventArgs.cs
- QueryContinueDragEvent.cs
- Visual.cs
- ObjectViewListener.cs
- HostVisual.cs
- ValueExpressions.cs
- HostedHttpRequestAsyncResult.cs
- ExtendedPropertyDescriptor.cs
- FileRegion.cs
- RecognitionResult.cs
- CodeTryCatchFinallyStatement.cs
- SqlCachedBuffer.cs
- TabRenderer.cs
- SafeRegistryKey.cs
- SessionStateItemCollection.cs
- PreservationFileWriter.cs
- ResolveNextArgumentWorkItem.cs
- EventLogPermissionAttribute.cs
- ProxyOperationRuntime.cs
- SystemGatewayIPAddressInformation.cs
- ManipulationInertiaStartingEventArgs.cs
- KeyboardDevice.cs
- FrameworkElement.cs
- DataService.cs
- ToggleProviderWrapper.cs
- RuntimeResourceSet.cs
- EventKeyword.cs
- BufferAllocator.cs
- ItemCollection.cs
- BindToObject.cs
- RegexRunner.cs
- MsmqTransportSecurityElement.cs
- Matrix.cs
- ServerIdentity.cs
- DependencyPropertyConverter.cs
- BrushConverter.cs
- QilTernary.cs
- ConstantProjectedSlot.cs
- EntityDataSourceConfigureObjectContext.cs
- CodeCompiler.cs
- Expression.cs
- XmlSchemaComplexContentRestriction.cs
- EntityProviderFactory.cs
- Zone.cs
- InkCollectionBehavior.cs
- GroupItem.cs
- WebContext.cs
- LoginCancelEventArgs.cs
- MemberDescriptor.cs
- Int16Animation.cs