1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*============================================================
**
** Class: SafeFindHandle
**
**
** A wrapper for find handles
**
**
===========================================================*/
using System;
using System.Security;
using System.Security.Permissions;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
using System.Runtime.ConstrainedExecution;
using Microsoft.Win32;
namespace Microsoft.Win32.SafeHandles {
[System.Security.SecurityCritical] // auto-generated
internal sealed class SafeFindHandle : SafeHandleZeroOrMinusOneIsInvalid
{
[System.Security.SecurityCritical] // auto-generated_required
internal SafeFindHandle() : base(true) {}
#if MONO
internal SafeFindHandle(IntPtr preexistingHandle) : base(true)
{
SetHandle (preexistingHandle);
}
#endif
[System.Security.SecurityCritical]
override protected bool ReleaseHandle()
{
#if MONO
return System.IO.MonoIO.FindCloseFile (handle);
#else
return Win32Native.FindClose(handle);
#endif
}
}
}
|