Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Runtime / InteropServices / RuntimeEnvironment.cs / 1 / RuntimeEnvironment.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================================== ** ** Class: RuntimeEnvironment ** ** ** Purpose: Runtime information ** ** =============================================================================*/ using System; using System.Text; using System.IO; using System.Runtime.CompilerServices; using System.Security.Permissions; using System.Reflection; using Microsoft.Win32; namespace System.Runtime.InteropServices { [System.Runtime.InteropServices.ComVisible(true)] public class RuntimeEnvironment { [MethodImplAttribute(MethodImplOptions.InternalCall)] internal static extern String GetModuleFileName(); [MethodImplAttribute(MethodImplOptions.InternalCall)] internal static extern String GetDeveloperPath(); [MethodImplAttribute(MethodImplOptions.InternalCall)] internal static extern String GetHostBindingFile(); [DllImport(Win32Native.SHIM, CharSet=CharSet.Unicode, CallingConvention=CallingConvention.StdCall)] private static extern int GetCORVersion(StringBuilder sb, int BufferLength, ref int retLength); [MethodImplAttribute(MethodImplOptions.InternalCall)] public static extern bool FromGlobalAccessCache(Assembly a); public static String GetSystemVersion() { StringBuilder s = new StringBuilder(256); int retLength = 0; if(GetCORVersion(s, 256, ref retLength) == 0) return s.ToString(); else return null; } public static String GetRuntimeDirectory() { String dir = GetRuntimeDirectoryImpl(); new FileIOPermission(FileIOPermissionAccess.PathDiscovery, dir).Demand(); return dir; } [MethodImplAttribute(MethodImplOptions.InternalCall)] internal static extern String GetRuntimeDirectoryImpl(); // Returns the system ConfigurationFile public static String SystemConfigurationFile { get { StringBuilder sb = new StringBuilder(Path.MAX_PATH); sb.Append(GetRuntimeDirectory()); sb.Append(AppDomainSetup.RuntimeConfigurationFile); String path = sb.ToString(); // Do security check new FileIOPermission(FileIOPermissionAccess.PathDiscovery, path).Demand(); return path; } } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlSchemaDatatype.cs
- ThicknessAnimationUsingKeyFrames.cs
- Point3DCollection.cs
- ObjectContextServiceProvider.cs
- ActivationArguments.cs
- mda.cs
- XmlNamespaceMapping.cs
- CodeDirectiveCollection.cs
- ListDictionaryInternal.cs
- EventLog.cs
- DesignerImageAdapter.cs
- GridSplitter.cs
- Soap12ServerProtocol.cs
- CmsUtils.cs
- OperationParameterInfoCollection.cs
- SqlClientWrapperSmiStreamChars.cs
- ToolStripHighContrastRenderer.cs
- ChannelSinkStacks.cs
- WindowsListViewSubItem.cs
- DataBoundControl.cs
- ClassHandlersStore.cs
- TiffBitmapDecoder.cs
- PageCatalogPartDesigner.cs
- DateTimeOffsetConverter.cs
- StringFunctions.cs
- RestHandler.cs
- DesignerGeometryHelper.cs
- ManagementDateTime.cs
- DayRenderEvent.cs
- WebPartTransformer.cs
- QueryAccessibilityHelpEvent.cs
- OperationFormatter.cs
- EmbeddedMailObjectsCollection.cs
- Schema.cs
- EUCJPEncoding.cs
- PointLight.cs
- DataView.cs
- TaskExtensions.cs
- OdbcStatementHandle.cs
- ConfigViewGenerator.cs
- TypeGenericEnumerableViewSchema.cs
- Inline.cs
- Geometry.cs
- SortedList.cs
- XsltContext.cs
- LogicalTreeHelper.cs
- DependencyPropertyAttribute.cs
- WebPartDescriptionCollection.cs
- ObjRef.cs
- EntityProviderFactory.cs
- StringCollectionEditor.cs
- ProjectionPathBuilder.cs
- MetadataItem_Static.cs
- XmlDocumentSerializer.cs
- EditCommandColumn.cs
- DecimalAverageAggregationOperator.cs
- DataRowCollection.cs
- WindowsFormsEditorServiceHelper.cs
- ChannelManager.cs
- PagesChangedEventArgs.cs
- unsafeIndexingFilterStream.cs
- MemberCollection.cs
- TemplateBuilder.cs
- XMLSchema.cs
- ThemeableAttribute.cs
- DbTransaction.cs
- Rotation3DAnimationBase.cs
- SessionStateContainer.cs
- DesignerAdapterAttribute.cs
- SizeChangedInfo.cs
- Events.cs
- PageEventArgs.cs
- ContentIterators.cs
- CatalogPartChrome.cs
- VBIdentifierName.cs
- AssemblyContextControlItem.cs
- WebBrowserEvent.cs
- SoapSchemaImporter.cs
- XmlArrayItemAttribute.cs
- TextInfo.cs
- TranslateTransform.cs
- BinaryWriter.cs
- AuthenticateEventArgs.cs
- HtmlControlPersistable.cs
- ConsoleTraceListener.cs
- DataObjectMethodAttribute.cs
- QueryableDataSourceEditData.cs
- EventMappingSettings.cs
- SqlFormatter.cs
- EmptyQuery.cs
- OdbcCommandBuilder.cs
- ButtonFlatAdapter.cs
- RotateTransform.cs
- TemplateNodeContextMenu.cs
- FixedSOMSemanticBox.cs
- CharAnimationBase.cs
- SamlAttribute.cs
- Mutex.cs
- HashAlgorithm.cs
- SelectedDatesCollection.cs