Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- FixedSOMLineRanges.cs
- XmlNodeChangedEventArgs.cs
- QueryConverter.cs
- ScrollBarAutomationPeer.cs
- QilStrConcat.cs
- OleDbRowUpdatedEvent.cs
- Run.cs
- DateTimeSerializationSection.cs
- WindowsTooltip.cs
- FixedTextView.cs
- ResourceProviderFactory.cs
- SqlParameterCollection.cs
- OdbcTransaction.cs
- SqlBulkCopy.cs
- BrushValueSerializer.cs
- CodeRegionDirective.cs
- StreamedWorkflowDefinitionContext.cs
- OptimizerPatterns.cs
- TypeDelegator.cs
- TextElement.cs
- CommandPlan.cs
- MDIControlStrip.cs
- ChtmlMobileTextWriter.cs
- AnimationClockResource.cs
- TaskResultSetter.cs
- HttpDictionary.cs
- EnumerableRowCollection.cs
- FixUpCollection.cs
- KeyValuePair.cs
- XPathBinder.cs
- CommandLineParser.cs
- MemberRelationshipService.cs
- IndexerReference.cs
- XmlDataImplementation.cs
- HeaderUtility.cs
- TouchesOverProperty.cs
- Polygon.cs
- CodeArrayIndexerExpression.cs
- CFStream.cs
- WindowsNonControl.cs
- SafeRightsManagementHandle.cs
- Clipboard.cs
- TargetControlTypeAttribute.cs
- TransactionFilter.cs
- PaperSize.cs
- XmlSchemaSimpleContentRestriction.cs
- ProfileSettingsCollection.cs
- SystemResourceKey.cs
- MemberHolder.cs
- PrintingPermissionAttribute.cs
- StrokeSerializer.cs
- ConnectionStringSettings.cs
- Sql8ConformanceChecker.cs
- CodeStatement.cs
- MatrixTransform3D.cs
- assertwrapper.cs
- BatchParser.cs
- StylusPoint.cs
- CheckBoxFlatAdapter.cs
- SqlParameter.cs
- AttributeProviderAttribute.cs
- EnumUnknown.cs
- DictationGrammar.cs
- RegexGroup.cs
- DataSourceControlBuilder.cs
- SharedUtils.cs
- SoapObjectInfo.cs
- GenericWebPart.cs
- RSACryptoServiceProvider.cs
- GroupBoxRenderer.cs
- SafeFileMappingHandle.cs
- UpdateExpressionVisitor.cs
- HttpAsyncResult.cs
- ClientSettings.cs
- DataGridViewToolTip.cs
- login.cs
- DiscoveryDefaults.cs
- Calendar.cs
- ReflectPropertyDescriptor.cs
- TemplateParser.cs
- ZipIOCentralDirectoryBlock.cs
- DbConnectionPoolGroupProviderInfo.cs
- FixedPosition.cs
- DrawingContext.cs
- documentsequencetextcontainer.cs
- BindableTemplateBuilder.cs
- TextContainerChangeEventArgs.cs
- XmlWriter.cs
- LinkLabelLinkClickedEvent.cs
- PolicyStatement.cs
- TogglePattern.cs
- RegionInfo.cs
- DbXmlEnabledProviderManifest.cs
- FixedStringLookup.cs
- ThumbAutomationPeer.cs
- XmlSignificantWhitespace.cs
- FixedSOMFixedBlock.cs
- XmlDataCollection.cs
- VisualStyleRenderer.cs
- XmlEncoding.cs