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
- WsatServiceAddress.cs
- DetailsViewInsertedEventArgs.cs
- ProtectedConfigurationProviderCollection.cs
- HostAdapter.cs
- DataRecord.cs
- DataError.cs
- DBPropSet.cs
- DataBindingCollection.cs
- StreamingContext.cs
- OrderedDictionary.cs
- DragDropManager.cs
- TextFormatterContext.cs
- XmlCustomFormatter.cs
- TransformCryptoHandle.cs
- JpegBitmapDecoder.cs
- ByteAnimationBase.cs
- storepermission.cs
- CodePageUtils.cs
- XmlnsDefinitionAttribute.cs
- SamlEvidence.cs
- HGlobalSafeHandle.cs
- DataGridViewColumnCollectionDialog.cs
- IfJoinedCondition.cs
- CreatingCookieEventArgs.cs
- AppliedDeviceFiltersEditor.cs
- QueryContinueDragEventArgs.cs
- Pair.cs
- HtmlForm.cs
- ListViewSortEventArgs.cs
- DecoderFallbackWithFailureFlag.cs
- XmlComplianceUtil.cs
- InternalConfigHost.cs
- DateTimeConstantAttribute.cs
- _ChunkParse.cs
- TemplatePartAttribute.cs
- ImageSourceConverter.cs
- CssStyleCollection.cs
- OdbcConnectionPoolProviderInfo.cs
- DataRowView.cs
- ThreadStartException.cs
- StateRuntime.cs
- MetadataSerializer.cs
- DataGridViewCellConverter.cs
- Pair.cs
- OperandQuery.cs
- BulletDecorator.cs
- TreeNodeBindingCollection.cs
- IResourceProvider.cs
- TextReader.cs
- _PooledStream.cs
- ImportStoreException.cs
- ProgressBarRenderer.cs
- HttpModuleCollection.cs
- ToRequest.cs
- OdbcUtils.cs
- ProcessHostConfigUtils.cs
- DataBoundControl.cs
- VisualStyleRenderer.cs
- OracleInfoMessageEventArgs.cs
- TrackingProvider.cs
- Metadata.cs
- TextParagraphCache.cs
- XappLauncher.cs
- ManipulationInertiaStartingEventArgs.cs
- TypeUsageBuilder.cs
- RichTextBoxConstants.cs
- OwnerDrawPropertyBag.cs
- PartitionerQueryOperator.cs
- TreeViewAutomationPeer.cs
- PresentationAppDomainManager.cs
- GenerateTemporaryAssemblyTask.cs
- GenericWebPart.cs
- PtsPage.cs
- SimpleApplicationHost.cs
- ScriptingWebServicesSectionGroup.cs
- HandlerFactoryWrapper.cs
- HttpModuleCollection.cs
- XmlArrayItemAttributes.cs
- SelectionItemPattern.cs
- PasswordBoxAutomationPeer.cs
- ChannelCacheSettings.cs
- ThumbAutomationPeer.cs
- StyleSheetDesigner.cs
- TextHidden.cs
- TextTreeInsertUndoUnit.cs
- ResolveNameEventArgs.cs
- ThemeDictionaryExtension.cs
- DecimalAnimationBase.cs
- TripleDES.cs
- IdentityNotMappedException.cs
- CategoryGridEntry.cs
- StyleTypedPropertyAttribute.cs
- PerfCounters.cs
- NativeMethodsCLR.cs
- COM2ExtendedUITypeEditor.cs
- HandleRef.cs
- GridEntry.cs
- EventMetadata.cs
- ColorAnimationBase.cs
- ContentOperations.cs