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
- Itemizer.cs
- Style.cs
- TableLayoutRowStyleCollection.cs
- NativeWindow.cs
- COM2PropertyPageUITypeConverter.cs
- InputProviderSite.cs
- httpserverutility.cs
- Evidence.cs
- PropertyValueUIItem.cs
- SafeNativeMethodsMilCoreApi.cs
- EditorPartCollection.cs
- FileLevelControlBuilderAttribute.cs
- Membership.cs
- MouseDevice.cs
- DataGridToolTip.cs
- RegexStringValidator.cs
- SchemaLookupTable.cs
- DataErrorValidationRule.cs
- DataGridViewColumnCollection.cs
- TrayIconDesigner.cs
- DataGridBoolColumn.cs
- control.ime.cs
- AnnotationAdorner.cs
- HttpTransportElement.cs
- ContentControl.cs
- SqlServer2KCompatibilityAnnotation.cs
- NominalTypeEliminator.cs
- Rule.cs
- PipelineDeploymentState.cs
- ADMembershipUser.cs
- MonthCalendar.cs
- BamlTreeNode.cs
- DynamicPropertyHolder.cs
- ContentPropertyAttribute.cs
- indexingfiltermarshaler.cs
- EventPropertyMap.cs
- AutomationPatternInfo.cs
- Window.cs
- UserNameSecurityTokenProvider.cs
- OdbcDataReader.cs
- PathFigureCollection.cs
- CustomValidator.cs
- EventHandlerService.cs
- DiscoveryMessageSequenceGenerator.cs
- UnhandledExceptionEventArgs.cs
- SoapObjectInfo.cs
- TransactionProtocolConverter.cs
- WpfWebRequestHelper.cs
- CompoundFileStorageReference.cs
- SpotLight.cs
- NTAccount.cs
- TextFormatterHost.cs
- QuotedStringWriteStateInfo.cs
- basevalidator.cs
- NameTable.cs
- VisualStyleTypesAndProperties.cs
- SecurityCriticalDataForSet.cs
- DataError.cs
- ManagementInstaller.cs
- OleCmdHelper.cs
- HttpTransportElement.cs
- InputReferenceExpression.cs
- Menu.cs
- AggregateNode.cs
- userdatakeys.cs
- NegationPusher.cs
- ValueCollectionParameterReader.cs
- MenuItemAutomationPeer.cs
- Int32Rect.cs
- AliasGenerator.cs
- BackgroundWorker.cs
- XmlToDatasetMap.cs
- AspNetSynchronizationContext.cs
- DiagnosticTraceSource.cs
- FixedStringLookup.cs
- MetadataSerializer.cs
- DefaultSettingsSection.cs
- COM2Enum.cs
- TextProviderWrapper.cs
- EpmSyndicationContentSerializer.cs
- HotSpotCollection.cs
- ParentQuery.cs
- EntityDataSourceStatementEditorForm.cs
- CodeSnippetTypeMember.cs
- ImageListDesigner.cs
- URLIdentityPermission.cs
- HybridDictionary.cs
- SignatureToken.cs
- RichTextBoxAutomationPeer.cs
- ConsoleCancelEventArgs.cs
- MonitoringDescriptionAttribute.cs
- RemotingConfiguration.cs
- GraphicsContainer.cs
- RoleManagerSection.cs
- ContravarianceAdapter.cs
- XmlSerializerOperationFormatter.cs
- WebPartAddingEventArgs.cs
- GridViewDeletedEventArgs.cs
- ZipIOBlockManager.cs
- DataColumnMappingCollection.cs