GlobalMemoryStatusEx
C# Signature:
[return: MarshalAs(UnmanagedType.Bool)]
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern bool GlobalMemoryStatusEx( [In,Out] MEMORYSTATUSEX lpBuffer); //Used to use ref with comment below
// but ref doesn't work.(Use of [In, Out] instead of ref
//causes access violation exception on windows xp
//comment: most probably caused by MEMORYSTATUSEX being declared as a class
//(at least at pinvoke.net). On Win7, ref and struct work.
// Alternate Version Using "ref," And Works With Alternate Code Below.
// Also See Alternate Version Of [MEMORYSTATUSEX] Structure With
// Fields Documented.
[return: MarshalAs( UnmanagedType.Bool )]
[DllImport( "kernel32.dll", CharSet = CharSet.Auto, EntryPoint = "GlobalMemoryStatusEx", SetLastError = true )]
static extern bool _GlobalMemoryStatusEx( ref MEMORYSTATUSEX lpBuffer );VB.Net Signature:
Private Declare Function GlobalMemoryStatusEx Lib "kernel32" Alias "GlobalMemoryStatusEx" ( _
<[In](), Out()>ByVal lpBuffer As MEMORYSTATUSEX _
) As <MarshalAs(UnmanagedType.Bool)> BooleanSample Code:
Sample Code:
Sample Code:
Sample Code:
Alternative Managed API:
Última actualización