Code:
/ FX-1434 / FX-1434 / 1.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
- Compilation.cs
- InvalidCommandTreeException.cs
- AssemblyHash.cs
- X509SecurityTokenAuthenticator.cs
- Popup.cs
- ToolStripItemBehavior.cs
- ActivityCodeDomReferenceService.cs
- Dump.cs
- WeakRefEnumerator.cs
- HyperLinkColumn.cs
- KnownAssemblyEntry.cs
- UriParserTemplates.cs
- ViewBase.cs
- CodeTypeReference.cs
- ApplicationCommands.cs
- Substitution.cs
- XmlSchemaElement.cs
- ServicePoint.cs
- Int32CollectionConverter.cs
- ChooseAction.cs
- MaskedTextBox.cs
- ElementsClipboardData.cs
- CanonicalizationDriver.cs
- GifBitmapDecoder.cs
- List.cs
- TextCharacters.cs
- CodeDOMProvider.cs
- VisualCollection.cs
- SignedInfo.cs
- FreezableOperations.cs
- CompressStream.cs
- FilteredXmlReader.cs
- counter.cs
- DateTimeStorage.cs
- MatrixAnimationUsingPath.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- GridView.cs
- PublisherIdentityPermission.cs
- ObjectDataSourceMethodEventArgs.cs
- AdapterUtil.cs
- WhitespaceRuleLookup.cs
- GeometryConverter.cs
- BaseValidatorDesigner.cs
- PropertyEmitterBase.cs
- PropertyInformation.cs
- SortDescription.cs
- WebPartsPersonalizationAuthorization.cs
- QfeChecker.cs
- WebEventTraceProvider.cs
- ActivityXRefConverter.cs
- DoubleCollectionValueSerializer.cs
- ImageList.cs
- ColorContext.cs
- DrawingContext.cs
- SafeEventHandle.cs
- PrintPreviewGraphics.cs
- RegexInterpreter.cs
- CodeFieldReferenceExpression.cs
- SecureConversationSecurityTokenParameters.cs
- XmlDictionaryString.cs
- TransactionFlowElement.cs
- DataSvcMapFile.cs
- HttpResponseHeader.cs
- XmlWriterSettings.cs
- XmlBinaryReader.cs
- WaitForChangedResult.cs
- SchemaManager.cs
- DesignerTextWriter.cs
- ContentElement.cs
- Mappings.cs
- PageContentAsyncResult.cs
- QilReplaceVisitor.cs
- ButtonFlatAdapter.cs
- PropertyNames.cs
- TimelineCollection.cs
- CheckableControlBaseAdapter.cs
- SapiRecognizer.cs
- DataObjectSettingDataEventArgs.cs
- DataColumnPropertyDescriptor.cs
- xdrvalidator.cs
- BlockUIContainer.cs
- EmbossBitmapEffect.cs
- LongValidatorAttribute.cs
- IRCollection.cs
- FaultFormatter.cs
- ImageConverter.cs
- MessageLoggingFilterTraceRecord.cs
- DynamicValueConverter.cs
- XmlReflectionMember.cs
- AdapterUtil.cs
- RadioButton.cs
- SqlDataRecord.cs
- ParallelSeparator.xaml.cs
- BuildProviderCollection.cs
- AsymmetricSignatureDeformatter.cs
- SqlDataSourceSelectingEventArgs.cs
- VisualProxy.cs
- ValidatingReaderNodeData.cs
- AccessDataSourceWizardForm.cs
- SafeRegistryHandle.cs