Imported Upstream version 4.3.2.467

Former-commit-id: 9c2cb47f45fa221e661ab616387c9cda183f283d
This commit is contained in:
Xamarin Public Jenkins
2016-02-22 11:00:01 -05:00
parent f302175246
commit f3e3aab35a
4097 changed files with 122406 additions and 82300 deletions

View File

@@ -438,7 +438,7 @@ namespace Microsoft.Win32 {
// simultaneously: overlapped IO, free the memory for the overlapped
// struct in a callback (or an EndRead method called by that callback),
// and pass in an address for the numBytesRead parameter.
// <STRIP> See Windows Bug 105512 for details. -- </STRIP>
// <
[DllImport(KERNEL32, SetLastError = true)]
[SecurityCritical]
@@ -456,7 +456,7 @@ namespace Microsoft.Win32 {
// simultaneously: overlapped IO, free the memory for the overlapped
// struct in a callback (or an EndWrite method called by that callback),
// and pass in an address for the numBytesRead parameter.
// <STRIP> See Windows Bug 105512 for details. -- </STRIP>
// <
[DllImport(KERNEL32, SetLastError = true)]
[SecurityCritical]
@@ -1474,19 +1474,24 @@ namespace Microsoft.Win32 {
int pageProtectionMode
);
[DllImport(KERNEL32, CharSet = CharSet.Auto, SetLastError = true)]
[SecurityCritical]
internal static bool GlobalMemoryStatusEx(ref MEMORYSTATUSEX lpBuffer)
{
lpBuffer.dwLength = (uint)Marshal.SizeOf(typeof(MEMORYSTATUSEX));
return GlobalMemoryStatusExNative(ref lpBuffer);
}
[DllImport(KERNEL32, CharSet = CharSet.Auto, SetLastError = true, EntryPoint = "GlobalMemoryStatusEx")]
[SecurityCritical]
[return: MarshalAs(UnmanagedType.Bool)]
internal static extern bool GlobalMemoryStatusEx([In, Out] MEMORYSTATUSEX lpBuffer);
private static extern bool GlobalMemoryStatusExNative([In, Out] ref MEMORYSTATUSEX lpBuffer);
[DllImport(KERNEL32, SetLastError = true)]
[SecurityCritical]
internal static unsafe extern bool CancelIoEx(SafeHandle handle, NativeOverlapped* lpOverlapped);
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
internal class MEMORYSTATUSEX {
[System.Security.SecurityCritical]
internal MEMORYSTATUSEX() {
this.dwLength = (uint)Marshal.SizeOf(typeof(MEMORYSTATUSEX));
}
internal struct MEMORYSTATUSEX {
internal uint dwLength;
internal uint dwMemoryLoad;
internal ulong ullTotalPhys;