safemediahandle.cs source code in C# .NET

Source code for the .NET framework in C#

                        

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

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK