title: How to get 64-bit value from WMI in python
body: <p>When I run the following code:</p>
  
  <pre><code>def get_process_info(pid):
      c = wmi.WMI(namespace='root\\cimv2')
      obj = c.Win32_Process(ProcessId = pid)[0]
      print "VirtualSize:", obj.wmi_property('VirtualSize').type
      print "VirtualSize:", obj.wmi_property('VirtualSize').Value
  
  def get_perf_info(pid):
      c = wmi.WMI(namespace='root\\cimv2')
      obj = c.Win32_PerfFormattedData_PerfProc_Process(IDProcess = pid)[0]
      print "PrivateBytes:", obj.wmi_property('PrivateBytes').type
      print "PrivateBytes:", obj.wmi_property('PrivateBytes').Value
  </code></pre>
  
  <p>Against a process which is using a lot of memory I get this:</p>
  
  <pre><code>VirtualSize: uint64
  VirtualSize: 5015498752
  PrivateBytes: uint64
  PrivateBytes: 4294967295
  </code></pre>
  
  <p>Note that both are listed as being 64-bit values but the PrivateBytes values is 0xFFFFFFFF. If I use "WMI Explorer" I can see the PrivateBytes value is larger than 32-bits:
  <a href="https://i.stack.imgur.com/tsGSE.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/tsGSE.png" alt="wmi image"></a></p>
  
  <p>My question is how can I access PrivateBytes in its full 64-bit glory?</p>
  
  <p>Is there a completely other way to read the WMI from python besides this WMI module?</p>