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
- IisTraceListener.cs
- ImageKeyConverter.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- BindingContext.cs
- TdsEnums.cs
- PerfCounters.cs
- CharAnimationBase.cs
- SocketPermission.cs
- _SingleItemRequestCache.cs
- CodeNamespaceCollection.cs
- CatalogPartChrome.cs
- PageThemeParser.cs
- MSAAEventDispatcher.cs
- DataBindingsDialog.cs
- RowType.cs
- IdSpace.cs
- FontFaceLayoutInfo.cs
- XmlReflectionMember.cs
- WindowsFormsHelpers.cs
- _NativeSSPI.cs
- CookieProtection.cs
- Perspective.cs
- ContentOperations.cs
- CodeDelegateInvokeExpression.cs
- Timeline.cs
- SqlProviderServices.cs
- FrameworkElementFactoryMarkupObject.cs
- DrawingContextWalker.cs
- BasicExpressionVisitor.cs
- ExtensionWindow.cs
- ResourceContainer.cs
- ToolStripDesignerAvailabilityAttribute.cs
- Currency.cs
- XmlSchemaExporter.cs
- IsolatedStorageFilePermission.cs
- FileNameEditor.cs
- ApplicationSecurityManager.cs
- AttachmentService.cs
- altserialization.cs
- DiscoveryClientReferences.cs
- ScriptMethodAttribute.cs
- DetailsViewDeletedEventArgs.cs
- SHA256.cs
- StorageAssociationTypeMapping.cs
- ContentType.cs
- SiteOfOriginPart.cs
- DataSvcMapFile.cs
- DBAsyncResult.cs
- TakeOrSkipQueryOperator.cs
- XamlInt32CollectionSerializer.cs
- XmlWrappingReader.cs
- ServiceEndpointElement.cs
- BrowserCapabilitiesCompiler.cs
- GridViewRowCollection.cs
- CssStyleCollection.cs
- Activator.cs
- IndependentAnimationStorage.cs
- ObjectQueryState.cs
- ResourceProviderFactory.cs
- ListViewTableCell.cs
- InkPresenter.cs
- UnionCqlBlock.cs
- SettingsProperty.cs
- PersistenceException.cs
- ExpressionWriter.cs
- JumpItem.cs
- SqlWebEventProvider.cs
- ContextProperty.cs
- EventToken.cs
- UpdateTranslator.cs
- PhysicalAddress.cs
- LayoutTableCell.cs
- TransportReplyChannelAcceptor.cs
- Rules.cs
- PeerContact.cs
- TTSVoice.cs
- DebugView.cs
- HierarchicalDataBoundControlAdapter.cs
- XmlName.cs
- WebConfigurationHostFileChange.cs
- FlowDocumentPage.cs
- XhtmlBasicLinkAdapter.cs
- BinaryConverter.cs
- HelpEvent.cs
- LocalizationCodeDomSerializer.cs
- ReadOnlyDictionary.cs
- Page.cs
- TextInfo.cs
- NativeMethods.cs
- CheckableControlBaseAdapter.cs
- SqlUtils.cs
- PerformanceCounterManager.cs
- StateManagedCollection.cs
- TreeView.cs
- ReaderWriterLockWrapper.cs
- HttpModuleAction.cs
- TransactionValidationBehavior.cs
- TextSearch.cs
- XmlLanguageConverter.cs
- PiiTraceSource.cs