Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- TraceSwitch.cs
- XmlObjectSerializerContext.cs
- FontFaceLayoutInfo.cs
- HideDisabledControlAdapter.cs
- MimeWriter.cs
- CodeDirectionExpression.cs
- WebEventTraceProvider.cs
- MsmqIntegrationBindingElement.cs
- WindowPattern.cs
- DialogBaseForm.cs
- BoundColumn.cs
- Error.cs
- OrthographicCamera.cs
- CounterSampleCalculator.cs
- Preprocessor.cs
- TextSearch.cs
- ProgressBar.cs
- ScrollData.cs
- future.cs
- TransformCollection.cs
- SoapInteropTypes.cs
- UInt32.cs
- ListenerElementsCollection.cs
- CharacterHit.cs
- Predicate.cs
- PropertyPath.cs
- ADConnectionHelper.cs
- HtmlInputImage.cs
- CqlQuery.cs
- RecognizedAudio.cs
- Size3DConverter.cs
- CustomAttributeSerializer.cs
- IisTraceListener.cs
- AddingNewEventArgs.cs
- ValueUnavailableException.cs
- HttpEncoderUtility.cs
- DataRelationPropertyDescriptor.cs
- Missing.cs
- SingleAnimationBase.cs
- WebHttpElement.cs
- CompoundFileReference.cs
- Byte.cs
- AppLevelCompilationSectionCache.cs
- BlockingCollection.cs
- IncrementalReadDecoders.cs
- DataTemplateKey.cs
- WebResponse.cs
- ValueTypeFieldReference.cs
- DataSourceControlBuilder.cs
- DataGridViewColumnStateChangedEventArgs.cs
- RotationValidation.cs
- HttpWebResponse.cs
- PropertyOverridesTypeEditor.cs
- ExpandSegment.cs
- DateTimeOffsetStorage.cs
- LinkDescriptor.cs
- DropDownList.cs
- GregorianCalendarHelper.cs
- SecurityUtils.cs
- MaskedTextBoxDesignerActionList.cs
- WindowsImpersonationContext.cs
- XpsImageSerializationService.cs
- SemanticResultKey.cs
- Directory.cs
- _ChunkParse.cs
- Form.cs
- SqlDependency.cs
- NetworkStream.cs
- KeyValuePair.cs
- BitVec.cs
- ValidationErrorCollection.cs
- StickyNoteAnnotations.cs
- TrustLevelCollection.cs
- SqlConnectionHelper.cs
- CollectionBase.cs
- Canvas.cs
- GuidelineSet.cs
- StylusTip.cs
- SpeakProgressEventArgs.cs
- SqlRowUpdatingEvent.cs
- MemberPathMap.cs
- ComponentManagerBroker.cs
- HttpStreamXmlDictionaryReader.cs
- TrustLevel.cs
- BaseCollection.cs
- Help.cs
- Light.cs
- WorkflowMessageEventHandler.cs
- VisualStyleElement.cs
- ReaderContextStackData.cs
- XComponentModel.cs
- MessageContractExporter.cs
- AttachedPropertyBrowsableAttribute.cs
- TypeLibConverter.cs
- DbConnectionPoolGroupProviderInfo.cs
- MessageLoggingFilterTraceRecord.cs
- UniqueConstraint.cs
- PersistenceTypeAttribute.cs
- AccessKeyManager.cs
- VideoDrawing.cs