Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Shared / MS / Win32 / WinInet.cs / 1 / WinInet.cs
using System; using System.Security; using System.Runtime.InteropServices; namespace MS.Win32 { internal static class WinInet { ////// Will return the location of the internet cache folder. /// ///The location of the internet cache folder. ////// Critical: /// 1) Calls several Marshal methods which have a link demand on them. /// 2) Calls NativeMethods.GetUrlCacheConfigInfo which is SecurityCritical. /// Not Safe: /// 2) Returns a Path that may leak information about the system. /// internal static Uri InternetCacheFolder { [SecurityCritical] get { // copied value 260 from orginal implementation in BitmapDownload.cs const int maxPathSize = 260; const UInt32 fieldControl = (UInt32)maxPathSize; NativeMethods.InternetCacheConfigInfo icci = new NativeMethods.InternetCacheConfigInfo(); icci.CachePath = new string(new char[maxPathSize]); UInt32 size = (UInt32)Marshal.SizeOf(icci); bool passed = UnsafeNativeMethods.GetUrlCacheConfigInfo( ref icci, ref size, fieldControl); if (!passed) { int hr = Marshal.GetHRForLastWin32Error(); if (hr != 0) { Marshal.ThrowExceptionForHR(hr); } } return new Uri(icci.CachePath); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LogEntryHeaderv1Deserializer.cs
- XamlClipboardData.cs
- SatelliteContractVersionAttribute.cs
- Semaphore.cs
- FrameworkTextComposition.cs
- RtfControls.cs
- TrackingStringDictionary.cs
- AuthenticationModulesSection.cs
- StrongTypingException.cs
- ZipIOLocalFileBlock.cs
- SettingsPropertyValue.cs
- TextFormatterHost.cs
- EditingCoordinator.cs
- StorageScalarPropertyMapping.cs
- DataAdapter.cs
- FloaterBaseParaClient.cs
- XmlSchemaImporter.cs
- BooleanKeyFrameCollection.cs
- InlineCollection.cs
- RtfNavigator.cs
- ToolStripRenderer.cs
- XPathScanner.cs
- TimeSpanMinutesConverter.cs
- OracleNumber.cs
- TrackBarRenderer.cs
- ParallelTimeline.cs
- MexHttpsBindingCollectionElement.cs
- mda.cs
- MediaTimeline.cs
- SqlRowUpdatedEvent.cs
- PtsPage.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- Peer.cs
- ManifestResourceInfo.cs
- BulletedList.cs
- DistinctQueryOperator.cs
- EntityDataSourceQueryBuilder.cs
- DiagnosticsConfigurationHandler.cs
- SelectionItemPattern.cs
- followingquery.cs
- EDesignUtil.cs
- ArraySortHelper.cs
- XmlNavigatorFilter.cs
- ConfigXmlCDataSection.cs
- HatchBrush.cs
- SchemaElementLookUpTable.cs
- DocumentPageViewAutomationPeer.cs
- XmlSortKey.cs
- ExtenderControl.cs
- UserThread.cs
- MimeFormatExtensions.cs
- NoneExcludedImageIndexConverter.cs
- TextFormatterHost.cs
- AlternateView.cs
- StdValidatorsAndConverters.cs
- DiagnosticsConfigurationHandler.cs
- TransactionScope.cs
- NewExpression.cs
- DataSourceCacheDurationConverter.cs
- Comparer.cs
- OuterGlowBitmapEffect.cs
- OuterGlowBitmapEffect.cs
- QuaternionRotation3D.cs
- DatagridviewDisplayedBandsData.cs
- PlatformCulture.cs
- OperationFormatStyle.cs
- WebEvents.cs
- FixedFlowMap.cs
- WebPart.cs
- SAPICategories.cs
- TraceLog.cs
- IssuedTokenClientBehaviorsElementCollection.cs
- MeasureItemEvent.cs
- Journaling.cs
- SamlAuthorizationDecisionClaimResource.cs
- SwitchElementsCollection.cs
- WebPartExportVerb.cs
- KeyProperty.cs
- ScriptReference.cs
- DesignTimeXamlWriter.cs
- GlobalizationSection.cs
- CodeGotoStatement.cs
- CleanUpVirtualizedItemEventArgs.cs
- CaseInsensitiveHashCodeProvider.cs
- BitmapFrameDecode.cs
- EnumerableRowCollection.cs
- XmlAttributeOverrides.cs
- RelationshipWrapper.cs
- SpecularMaterial.cs
- CrossAppDomainChannel.cs
- ProxyWebPartManager.cs
- GuidConverter.cs
- FormCollection.cs
- SqlEnums.cs
- OdbcConnectionPoolProviderInfo.cs
- SortQuery.cs
- GlobalizationAssembly.cs
- ComboBoxRenderer.cs
- StickyNoteHelper.cs
- TraceUtility.cs