Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / System / Windows / Media / safemediahandle.cs / 1 / safemediahandle.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, All Rights Reserved. // // File: SafeMediaHandle.cs // //----------------------------------------------------------------------------- using System; using System.IO; using System.Security; using System.Security.Permissions; using System.Collections; using System.Reflection; using MS.Internal; using MS.Win32; using System.Diagnostics; using System.Windows.Media; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using Microsoft.Win32.SafeHandles; using UnsafeNativeMethods=MS.Win32.PresentationCore.UnsafeNativeMethods; namespace System.Windows.Media { internal class SafeMediaHandle : SafeMILHandle { ////// internal SafeMediaHandle() { } ////// ////// Critical: calls SafeHandle.SetHandle which LinkDemands /// also takes arbitrary IntPtr as a handle /// [SecurityCritical] internal SafeMediaHandle(IntPtr handle) { SetHandle(handle); } ////// Critical - calls unmanaged code, not treat as safe because you must /// validate that handle is a valid COM object. /// [SecurityCritical] protected override bool ReleaseHandle() { HRESULT.Check(MILMedia.Shutdown(handle)); UnsafeNativeMethods.MILUnknown.ReleaseInterface(ref handle); return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, All Rights Reserved. // // File: SafeMediaHandle.cs // //----------------------------------------------------------------------------- using System; using System.IO; using System.Security; using System.Security.Permissions; using System.Collections; using System.Reflection; using MS.Internal; using MS.Win32; using System.Diagnostics; using System.Windows.Media; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using Microsoft.Win32.SafeHandles; using UnsafeNativeMethods=MS.Win32.PresentationCore.UnsafeNativeMethods; namespace System.Windows.Media { internal class SafeMediaHandle : SafeMILHandle { ////// internal SafeMediaHandle() { } ////// ////// Critical: calls SafeHandle.SetHandle which LinkDemands /// also takes arbitrary IntPtr as a handle /// [SecurityCritical] internal SafeMediaHandle(IntPtr handle) { SetHandle(handle); } ////// Critical - calls unmanaged code, not treat as safe because you must /// validate that handle is a valid COM object. /// [SecurityCritical] protected override bool ReleaseHandle() { HRESULT.Check(MILMedia.Shutdown(handle)); UnsafeNativeMethods.MILUnknown.ReleaseInterface(ref handle); return true; } } } // 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
- TextBoxAutomationPeer.cs
- DesignerDataView.cs
- TouchEventArgs.cs
- ProfileManager.cs
- AssemblyBuilder.cs
- DrawingContextDrawingContextWalker.cs
- DefaultExpression.cs
- ValidationErrorCollection.cs
- uribuilder.cs
- DBSqlParser.cs
- HierarchicalDataSourceControl.cs
- Path.cs
- PenContext.cs
- HashHelper.cs
- bindurihelper.cs
- SQLCharsStorage.cs
- AssemblyHash.cs
- XmlQueryTypeFactory.cs
- OutKeywords.cs
- RSACryptoServiceProvider.cs
- ControlBindingsConverter.cs
- DataContractSerializerOperationGenerator.cs
- COM2TypeInfoProcessor.cs
- AstTree.cs
- Types.cs
- StorageMappingItemLoader.cs
- InvokeMethodActivityDesigner.cs
- Block.cs
- Merger.cs
- UniqueContractNameValidationBehavior.cs
- RootBrowserWindowProxy.cs
- PinProtectionHelper.cs
- OleDbRowUpdatingEvent.cs
- Binding.cs
- FormatterServices.cs
- RegexCapture.cs
- Compilation.cs
- EnumConverter.cs
- parserscommon.cs
- AuthenticationManager.cs
- AmbiguousMatchException.cs
- DesignerEditorPartChrome.cs
- IgnorePropertiesAttribute.cs
- RecordManager.cs
- PointIndependentAnimationStorage.cs
- PropertyDescriptor.cs
- TextTreeDeleteContentUndoUnit.cs
- SerializationAttributes.cs
- ExtendedProtectionPolicy.cs
- EdmComplexPropertyAttribute.cs
- LogSwitch.cs
- TextChangedEventArgs.cs
- EventLogStatus.cs
- SvcFileManager.cs
- DocComment.cs
- ResponseStream.cs
- OptimizerPatterns.cs
- HMACMD5.cs
- DataServiceCollectionOfT.cs
- XmlIncludeAttribute.cs
- DatagridviewDisplayedBandsData.cs
- Mouse.cs
- ObjectResult.cs
- RijndaelManaged.cs
- DatagridviewDisplayedBandsData.cs
- CodeDOMUtility.cs
- GPPOINT.cs
- HtmlControl.cs
- SerialReceived.cs
- PointAnimation.cs
- ConfigXmlSignificantWhitespace.cs
- KeyInstance.cs
- PathData.cs
- ISFTagAndGuidCache.cs
- WindowsEditBox.cs
- StorageComplexPropertyMapping.cs
- Control.cs
- DiscoveryOperationContextExtension.cs
- CodeAttributeArgument.cs
- SHA384.cs
- ListChunk.cs
- BitmapSource.cs
- CompilerResults.cs
- ComponentRenameEvent.cs
- DbConnectionPool.cs
- UDPClient.cs
- ReturnEventArgs.cs
- ITextView.cs
- ResXResourceReader.cs
- ConfigurationSectionGroupCollection.cs
- XmlSchemaSimpleContent.cs
- SafeArrayRankMismatchException.cs
- CheckBoxPopupAdapter.cs
- RuleRef.cs
- EmptyControlCollection.cs
- MetabaseServerConfig.cs
- ObsoleteAttribute.cs
- PolyLineSegment.cs
- WindowsFormsEditorServiceHelper.cs
- StreamUpdate.cs