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
- ImageBrush.cs
- ToolStripItemImageRenderEventArgs.cs
- SchemaNotation.cs
- DuplexChannelFactory.cs
- XmlSerializationReader.cs
- linebase.cs
- XPathParser.cs
- AuthenticationConfig.cs
- FrameworkElementFactoryMarkupObject.cs
- ListSourceHelper.cs
- DbTypeMap.cs
- AppendHelper.cs
- CalendarAutomationPeer.cs
- sitestring.cs
- PageAdapter.cs
- QueryFunctions.cs
- Item.cs
- SHA512.cs
- StreamInfo.cs
- WebPartConnectionCollection.cs
- Image.cs
- DataGridViewRowCollection.cs
- MembershipSection.cs
- ToolBarOverflowPanel.cs
- HandoffBehavior.cs
- VScrollBar.cs
- TypedTableBaseExtensions.cs
- OledbConnectionStringbuilder.cs
- WeakReadOnlyCollection.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- CombinedHttpChannel.cs
- CompositeCollection.cs
- QuaternionAnimation.cs
- OleDbEnumerator.cs
- DiscriminatorMap.cs
- WmlImageAdapter.cs
- PropertyEmitter.cs
- LingerOption.cs
- InputLanguage.cs
- ImageCodecInfoPrivate.cs
- SystemUdpStatistics.cs
- SolidColorBrush.cs
- EdmFunction.cs
- UnitySerializationHolder.cs
- XpsSerializerWriter.cs
- ThousandthOfEmRealDoubles.cs
- TextWriterTraceListener.cs
- mda.cs
- DataTemplateSelector.cs
- HttpProfileBase.cs
- ToolStripSystemRenderer.cs
- EventToken.cs
- RightsManagementInformation.cs
- SimpleMailWebEventProvider.cs
- OdbcParameterCollection.cs
- LightweightCodeGenerator.cs
- MemoryRecordBuffer.cs
- AutomationInteropProvider.cs
- XamlToRtfWriter.cs
- Pair.cs
- DefaultIfEmptyQueryOperator.cs
- FullTextBreakpoint.cs
- HMACMD5.cs
- FamilyCollection.cs
- StreamBodyWriter.cs
- CursorConverter.cs
- PenContexts.cs
- AtomContentProperty.cs
- TreeViewCancelEvent.cs
- EntityContainerEmitter.cs
- AuthenticationServiceManager.cs
- SiteMapSection.cs
- streamingZipPartStream.cs
- BufferModeSettings.cs
- WebZone.cs
- XhtmlBasicObjectListAdapter.cs
- Stack.cs
- Style.cs
- GlyphRunDrawing.cs
- DataGridViewSortCompareEventArgs.cs
- X509Utils.cs
- MarkupObject.cs
- TimeoutValidationAttribute.cs
- Stroke2.cs
- CatalogPartCollection.cs
- StyleSelector.cs
- Condition.cs
- UrlPath.cs
- RequestedSignatureDialog.cs
- ProxyWebPart.cs
- LoadedOrUnloadedOperation.cs
- System.Data_BID.cs
- WebPartDeleteVerb.cs
- HwndPanningFeedback.cs
- XPathParser.cs
- TripleDESCryptoServiceProvider.cs
- DataTableReaderListener.cs
- State.cs
- TypeConverterMarkupExtension.cs
- TraceHandlerErrorFormatter.cs