Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Diagnostics / Eventing / Reader / EventLogInformation.cs / 1305376 / EventLogInformation.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: EventLogInformation ** ** Purpose: ** The objects of this class allow access to the run-time ** properties of logs and external log files. An instance of this ** class is obtained from EventLogSession. ** ============================================================*/ using System; using System.Runtime.InteropServices; using Microsoft.Win32; namespace System.Diagnostics.Eventing.Reader { ////// Describes the run-time properties of logs and external log files. An instance /// of this class is obtained from EventLogSession. /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class EventLogInformation { DateTime? creationTime; DateTime? lastAccessTime; DateTime? lastWriteTime; long? fileSize; int? fileAttributes; long? recordCount; long? oldestRecordNumber; bool? isLogFull; [System.Security.SecuritySafeCritical] internal EventLogInformation(EventLogSession session, string channelName, PathType pathType) { EventLogPermissionHolder.GetEventLogPermission().Demand(); EventLogHandle logHandle = NativeWrapper.EvtOpenLog(session.Handle, channelName, pathType); using (logHandle) { creationTime = (DateTime?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogCreationTime); lastAccessTime = (DateTime?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogLastAccessTime); lastWriteTime = (DateTime?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogLastWriteTime); fileSize = (long?)((ulong?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogFileSize)); fileAttributes = (int?)((uint?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogAttributes)); recordCount = (long?)((ulong?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogNumberOfLogRecords)); oldestRecordNumber = (long?)((ulong?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogOldestRecordNumber)); isLogFull = (bool?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogFull); } } public DateTime? CreationTime { get { return creationTime; } } public DateTime? LastAccessTime { get { return lastAccessTime; } } public DateTime? LastWriteTime { get { return lastWriteTime; } } public long? FileSize { get { return fileSize; } } public int? Attributes { get { return fileAttributes; } } public long? RecordCount { get { return recordCount; } } public long? OldestRecordNumber { get { return oldestRecordNumber; } } public bool? IsLogFull { get { return isLogFull; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: EventLogInformation ** ** Purpose: ** The objects of this class allow access to the run-time ** properties of logs and external log files. An instance of this ** class is obtained from EventLogSession. ** ============================================================*/ using System; using System.Runtime.InteropServices; using Microsoft.Win32; namespace System.Diagnostics.Eventing.Reader { ////// Describes the run-time properties of logs and external log files. An instance /// of this class is obtained from EventLogSession. /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class EventLogInformation { DateTime? creationTime; DateTime? lastAccessTime; DateTime? lastWriteTime; long? fileSize; int? fileAttributes; long? recordCount; long? oldestRecordNumber; bool? isLogFull; [System.Security.SecuritySafeCritical] internal EventLogInformation(EventLogSession session, string channelName, PathType pathType) { EventLogPermissionHolder.GetEventLogPermission().Demand(); EventLogHandle logHandle = NativeWrapper.EvtOpenLog(session.Handle, channelName, pathType); using (logHandle) { creationTime = (DateTime?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogCreationTime); lastAccessTime = (DateTime?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogLastAccessTime); lastWriteTime = (DateTime?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogLastWriteTime); fileSize = (long?)((ulong?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogFileSize)); fileAttributes = (int?)((uint?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogAttributes)); recordCount = (long?)((ulong?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogNumberOfLogRecords)); oldestRecordNumber = (long?)((ulong?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogOldestRecordNumber)); isLogFull = (bool?)NativeWrapper.EvtGetLogInfo(logHandle, UnsafeNativeMethods.EvtLogPropertyId.EvtLogFull); } } public DateTime? CreationTime { get { return creationTime; } } public DateTime? LastAccessTime { get { return lastAccessTime; } } public DateTime? LastWriteTime { get { return lastWriteTime; } } public long? FileSize { get { return fileSize; } } public int? Attributes { get { return fileAttributes; } } public long? RecordCount { get { return recordCount; } } public long? OldestRecordNumber { get { return oldestRecordNumber; } } public bool? IsLogFull { get { return isLogFull; } } } } // 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
- CharEnumerator.cs
- SocketInformation.cs
- AssemblyInfo.cs
- LayoutTableCell.cs
- ExpressionEvaluator.cs
- HandleCollector.cs
- XamlSerializerUtil.cs
- ZeroOpNode.cs
- IteratorDescriptor.cs
- BasicBrowserDialog.cs
- BookmarkEventArgs.cs
- UriTemplateLiteralPathSegment.cs
- CodeConditionStatement.cs
- EmptyStringExpandableObjectConverter.cs
- TreeNodeClickEventArgs.cs
- LinqDataSourceView.cs
- FrugalList.cs
- CardSpaceException.cs
- TableCellCollection.cs
- WebHttpSecurityElement.cs
- CachedRequestParams.cs
- CqlWriter.cs
- WindowAutomationPeer.cs
- XmlSchemaChoice.cs
- ConfigXmlDocument.cs
- unitconverter.cs
- JsonFormatWriterGenerator.cs
- XmlLanguage.cs
- SqlSelectStatement.cs
- AutomationElementCollection.cs
- DataGridViewRowPostPaintEventArgs.cs
- PrefixQName.cs
- RectangleConverter.cs
- WebPartConnectionsCancelVerb.cs
- PathGradientBrush.cs
- ListViewItemMouseHoverEvent.cs
- GeneralTransform3D.cs
- Filter.cs
- ParenthesizePropertyNameAttribute.cs
- CodePrimitiveExpression.cs
- VScrollProperties.cs
- TracedNativeMethods.cs
- EditorAttributeInfo.cs
- BaseCodeDomTreeGenerator.cs
- ProcessModuleCollection.cs
- _NestedSingleAsyncResult.cs
- MLangCodePageEncoding.cs
- SymmetricKey.cs
- TrustVersion.cs
- ColumnHeaderConverter.cs
- OdbcTransaction.cs
- WebReferencesBuildProvider.cs
- SvcMapFileSerializer.cs
- ObjectDataSourceMethodEventArgs.cs
- TextSegment.cs
- GAC.cs
- Typography.cs
- ToolStripSeparatorRenderEventArgs.cs
- PassportAuthenticationEventArgs.cs
- DataServiceKeyAttribute.cs
- DocumentPageViewAutomationPeer.cs
- SafeArrayRankMismatchException.cs
- COM2Enum.cs
- GridViewSortEventArgs.cs
- ExtentJoinTreeNode.cs
- DataTrigger.cs
- ButtonBase.cs
- PerformanceCounterPermissionAttribute.cs
- XamlTypeMapper.cs
- LayoutDump.cs
- XmlSchemaComplexContentExtension.cs
- WCFServiceClientProxyGenerator.cs
- PropertyChangeTracker.cs
- ParseHttpDate.cs
- PointConverter.cs
- BamlLocalizationDictionary.cs
- CharUnicodeInfo.cs
- AppModelKnownContentFactory.cs
- FillRuleValidation.cs
- _HelperAsyncResults.cs
- IDictionary.cs
- GridViewRow.cs
- SrgsItemList.cs
- WindowsScrollBarBits.cs
- SelectionRange.cs
- CacheDependency.cs
- PersonalizationEntry.cs
- PropertyChangingEventArgs.cs
- HtmlImage.cs
- WpfGeneratedKnownTypes.cs
- WindowsScroll.cs
- ProfileBuildProvider.cs
- WebPartCloseVerb.cs
- DecoderNLS.cs
- CodeDirectionExpression.cs
- SrgsOneOf.cs
- RectAnimationClockResource.cs
- TypeInitializationException.cs
- SqlExpressionNullability.cs
- SuppressIldasmAttribute.cs