Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / FileUtil.cs / 1305376 / FileUtil.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration { using System; using System.IO; using Microsoft.Win32; using System.Runtime.InteropServices; static internal class FileUtil { const int HRESULT_WIN32_FILE_NOT_FOUND = unchecked((int)0x80070002); const int HRESULT_WIN32_PATH_NOT_FOUND = unchecked((int)0x80070003); // // Use to avoid the perf hit of a Demand when the Demand is not necessary for security. // // If trueOnError is set, then return true if we cannot confirm that the file does NOT exist. // internal static bool FileExists(string filename, bool trueOnError) { UnsafeNativeMethods.WIN32_FILE_ATTRIBUTE_DATA data; bool ok = UnsafeNativeMethods.GetFileAttributesEx(filename, UnsafeNativeMethods.GetFileExInfoStandard, out data); if (ok) { // The path exists. Return true if it is a file, false if a directory. return (data.fileAttributes & (int) FileAttributes.Directory) != (int) FileAttributes.Directory; } else { if (!trueOnError) { return false; } else { // Return true if we cannot confirm that the file does NOT exist. int hr = Marshal.GetHRForLastWin32Error(); if (hr == HRESULT_WIN32_FILE_NOT_FOUND || hr == HRESULT_WIN32_PATH_NOT_FOUND) { return false; } else { return true; } } } } } } // 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
- RoleServiceManager.cs
- AlternateViewCollection.cs
- CompositionTarget.cs
- DataGridTemplateColumn.cs
- StrokeCollectionConverter.cs
- BuildProviderCollection.cs
- Int16AnimationUsingKeyFrames.cs
- XPathAncestorIterator.cs
- DiagnosticStrings.cs
- MessageContractAttribute.cs
- XamlTypeMapper.cs
- XmlTextReader.cs
- TextOutput.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- SmiRequestExecutor.cs
- BrowsableAttribute.cs
- DataPagerFieldItem.cs
- NonParentingControl.cs
- InteropBitmapSource.cs
- VerticalAlignConverter.cs
- ToolBarTray.cs
- Line.cs
- EpmHelper.cs
- SystemIPGlobalProperties.cs
- MulticastIPAddressInformationCollection.cs
- AttributeQuery.cs
- Command.cs
- XmlUtilWriter.cs
- DataGridViewRowStateChangedEventArgs.cs
- SplitterPanel.cs
- InfoCardPolicy.cs
- WebConfigurationFileMap.cs
- ChannelManager.cs
- XmlDomTextWriter.cs
- OutputCacheSettings.cs
- ControlIdConverter.cs
- StringDictionary.cs
- XmlSerializerImportOptions.cs
- TypeUnloadedException.cs
- SemanticKeyElement.cs
- EntityWrapperFactory.cs
- BinaryMessageEncoder.cs
- CodeFieldReferenceExpression.cs
- XmlNodeWriter.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- TextPointerBase.cs
- EventMappingSettings.cs
- BitmapPalette.cs
- Image.cs
- HealthMonitoringSectionHelper.cs
- RtfNavigator.cs
- RegexCaptureCollection.cs
- DecryptRequest.cs
- HwndAppCommandInputProvider.cs
- DataRelationPropertyDescriptor.cs
- WebBrowserContainer.cs
- XamlStream.cs
- UrlPath.cs
- FileVersion.cs
- RepeaterItem.cs
- ImageAttributes.cs
- DefaultAssemblyResolver.cs
- ContactManager.cs
- SubpageParagraph.cs
- NamedPipeTransportElement.cs
- TransactionScope.cs
- FrameDimension.cs
- UiaCoreProviderApi.cs
- UnmanagedMarshal.cs
- EditableRegion.cs
- PasswordTextContainer.cs
- DataGridColumnDropSeparator.cs
- ScrollBarAutomationPeer.cs
- TextTreeText.cs
- FormsIdentity.cs
- PathFigureCollection.cs
- DataGridViewCellValueEventArgs.cs
- AssemblyBuilderData.cs
- TextElementEnumerator.cs
- BatchParser.cs
- DeclarativeCatalogPart.cs
- NameValueConfigurationCollection.cs
- EntityParameter.cs
- EventWaitHandleSecurity.cs
- ClientTargetSection.cs
- DbConnectionPool.cs
- PropertyExpression.cs
- QilLoop.cs
- PrinterResolution.cs
- DBCommand.cs
- WMIGenerator.cs
- DataObject.cs
- AsymmetricSignatureFormatter.cs
- IProvider.cs
- DataServiceBehavior.cs
- WindowsClaimSet.cs
- OleDbRowUpdatedEvent.cs
- ServiceModelConfigurationSection.cs
- Literal.cs
- HttpWebResponse.cs