How to get memory range used by a specific device with WMI (Windows Management Instrumentation)


How can I get the resources used by a specific device (in particular, the memory range) of a specific device knowing it's name and/or DeviceID and/or the Pci bus number, Device number and function number? For example, I want to know what memory range an Intel AHCI Controller uses. With the query "SELECT * FROM Win32_IDEController WHERE Name LIKE\"%ahci%\"" I can get some info like the complete name, device id, and other informations. Then I thought that using the complete name or device id I could select the memory range used by the device using the class "Win32_DeviceMemoryAddress". However, this class does not have any useful attributes that I can set to get the memory range associated with the AHCI controller. Name, Caption and description all return a string with the starting address and ending address.

Thanks in advance.


Don't know how to do it with WMI, but in <a href="http://www.codeproject.com/Articles/14412/Enumerating-windows-device" rel="nofollow">this link</a>, under "Get Device Resource", the author claims that <a href="http://msdn.microsoft.com/en-us/library/windows/hardware/ff538600%28v=vs.85%29.aspx" rel="nofollow">CM_Get_Next_Res_Des</a> provides this information. Getting there, though, is not simple... that's exactly what I'm trying to accomplish right now... will contribute further details when I get there...


  • How to get list of Named range,sheet name and referance formuls using XSSF and SAX (Event API) for l
  • Configurable Windows Service - How and where to store configuration
  • Access each Pixel of AVFrame
  • PHP Order array based on elements dependency
  • PHP Post & Redirect with cURL Same As HTML Form [closed]
  • How to detach subdirectory in Git but keep all branches
  • Playing Video in JavaFX8
  • How to get rows of a dataframe that contain values between two other values?
  • Get temperature from NVidia GPU using NVAPI
  • Catch in Observable stops HTTP Calls from Observable.interval
  • how to force the use of cmov in gcc and VS
  • Eclipse: missing requirement E4 RCP patch when installing properties editor
  • Where to put clearQueue in jQuery code
  • Making Cross Site Asynchronous HTTP Post from GWT Client
  • HALF_PTR Windows data type
  • Wait for .each() .getJSON request to finish before executing a callback
  • How to change placeholder text in an autocomplete activity of android google place?
  • Upgrade project from WorkLight 6.1 to MobileFirst 7.1
  • change search magnifying glass to UIActivityIndicatorView
  • python mysqldb delete row
  • MeeGo Handset Emulator not starting on Windows 7
  • Magento get URL before current
  • Prevent Tomcat from caching request during starup
  • How do I signal completion of my dataflow?
  • How to use JavaScript to determine whether a file exists in a directory?
  • Can you perform a UNION without a subquery in SQLAlchemy?
  • Sencha Touch 2.0 Controller refs attribute not working?
  • PostgreSQL Query without WHERE only ORDER BY and LIMIT doesn't use index
  • Display Images one by one with next and previous functionality
  • ORA-29908: missing primary invocation for ancillary operator
  • How to get next/previous record number?
  • bootstrap to use multiple ng-app
  • json Serialization in asp
  • SQL merge duplicate rows and join values that are different
  • Rails 2: use form_for to build a form covering multiple objects of the same class
  • How do you join a server to an Active Directory (domain)?
  • How to stop GridView from loading again when I press back button?
  • How does Linux kernel interrupt the application?
  • Binding checkboxes to object values in AngularJs
  • How to load view controller without button in storyboard?