You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@ -0,0 +1,59 @@
|
||||
// <copyright file="UnsafeNativeMethods.cs" company="Microsoft">
|
||||
// Copyright (c) 2009 Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.IO;
|
||||
using System.Runtime.ConstrainedExecution;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Runtime.Versioning;
|
||||
using System.Security;
|
||||
using System.Security.Permissions;
|
||||
using System.Text;
|
||||
|
||||
namespace System.Runtime.Caching {
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
[SuppressMessage("Microsoft.Security", "CA2118:ReviewSuppressUnmanagedCodeSecurityUsage", Justification = "Grandfathered suppression from original caching code checkin")]
|
||||
[SecurityCritical]
|
||||
internal static class UnsafeNativeMethods {
|
||||
private const string KERNEL32 = "KERNEL32.DLL";
|
||||
private const string ADVAPI32 = "ADVAPI32.DLL";
|
||||
|
||||
/*
|
||||
* KERNEL32.DLL
|
||||
*/
|
||||
|
||||
[SuppressMessage("Microsoft.Security", "CA2118:ReviewSuppressUnmanagedCodeSecurityUsage", Justification = "Grandfathered suppression from original caching code checkin")]
|
||||
[DllImport(KERNEL32, CharSet=CharSet.Unicode)]
|
||||
internal extern static int GetModuleFileName(IntPtr module, StringBuilder filename, int size);
|
||||
|
||||
[SuppressMessage("Microsoft.Security", "CA2118:ReviewSuppressUnmanagedCodeSecurityUsage", Justification = "Grandfathered suppression from original caching code checkin")]
|
||||
[DllImport(KERNEL32, CharSet=CharSet.Unicode)]
|
||||
internal extern static int GlobalMemoryStatusEx(ref MEMORYSTATUSEX memoryStatusEx);
|
||||
|
||||
/*
|
||||
* ADVAPI32.DLL
|
||||
*/
|
||||
|
||||
[SuppressMessage("Microsoft.Security", "CA2118:ReviewSuppressUnmanagedCodeSecurityUsage", Justification = "Grandfathered suppression from original caching code checkin")]
|
||||
[DllImport(ADVAPI32), ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
|
||||
internal static extern int RegCloseKey(IntPtr hKey);
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
|
||||
internal struct MEMORYSTATUSEX {
|
||||
internal int dwLength;
|
||||
internal int dwMemoryLoad;
|
||||
internal long ullTotalPhys;
|
||||
internal long ullAvailPhys;
|
||||
internal long ullTotalPageFile;
|
||||
internal long ullAvailPageFile;
|
||||
internal long ullTotalVirtual;
|
||||
internal long ullAvailVirtual;
|
||||
internal long ullAvailExtendedVirtual;
|
||||
internal void Init() {
|
||||
dwLength = Marshal.SizeOf(typeof(MEMORYSTATUSEX));
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user