Win32_DMAChannel jscript sample code
The foundations for Manageability in Windows is Windows Management Instrumentation (WMI; formerly WBEM) and WMI extensions for Windows Driver Model (WDM).
ActiveXperts Network Monitor provides the ability to build monitor check routines based on WMI. ActiveXperts has collected more than a hundred WMI samples. You can use these samples as a base for new check routines you can write yourself. The Win32_DMAChannel WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
Description
The Win32_DMAChannel WMI class represents a direct memory access (DMA) channel on a Windows computer system. DMA is a method of moving data from a device to memory (or vice versa) without the help of the microprocessor. The system board uses a DMA controller to handle a fixed number of channels, each of which can be used by one (and only one) device at a time.
Sample Code
var wbemFlagReturnImmediately = 0x10; var wbemFlagForwardOnly = 0x20; var arrComputers = new Array("DELL17"); for (i = 0; i < arrComputers.length; i++) { WScript.Echo(); WScript.Echo("=========================================="); WScript.Echo("Computer: " + arrComputers[i]); WScript.Echo("=========================================="); var objWMIService = GetObject("winmgmts:\\\\" + arrComputers[i] + "\\root\\CIMV2"); var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_DMAChannel", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly); var enumItems = new Enumerator(colItems); for (; !enumItems.atEnd(); enumItems.moveNext()) { var objItem = enumItems.item(); WScript.Echo("AddressSize: " + objItem.AddressSize); WScript.Echo("Availability: " + objItem.Availability); WScript.Echo("BurstMode: " + objItem.BurstMode); WScript.Echo("ByteMode: " + objItem.ByteMode); WScript.Echo("Caption: " + objItem.Caption); WScript.Echo("ChannelTiming: " + objItem.ChannelTiming); WScript.Echo("CreationClassName: " + objItem.CreationClassName); WScript.Echo("CSCreationClassName: " + objItem.CSCreationClassName); WScript.Echo("CSName: " + objItem.CSName); WScript.Echo("Description: " + objItem.Description); WScript.Echo("DMAChannel: " + objItem.DMAChannel); WScript.Echo("InstallDate: " + WMIDateStringToDate(objItem.InstallDate)); WScript.Echo("MaxTransferSize: " + objItem.MaxTransferSize); WScript.Echo("Name: " + objItem.Name); WScript.Echo("Port: " + objItem.Port); WScript.Echo("Status: " + objItem.Status); try { WScript.Echo("TransferWidths: " + (objItem.TransferWidths.toArray()).join(",")); } catch(e) { WScript.Echo("TransferWidths: null"); } WScript.Echo("TypeCTiming: " + objItem.TypeCTiming); WScript.Echo("WordMode: " + objItem.WordMode); } } function WMIDateStringToDate(dtmDate) { if (dtmDate == null) { return "null date"; } var strDateTime; if (dtmDate.substr(4, 1) == 0) { strDateTime = dtmDate.substr(5, 1) + "/"; } else { strDateTime = dtmDate.substr(4, 2) + "/"; } if (dtmDate.substr(6, 1) == 0) { strDateTime = strDateTime + dtmDate.substr(7, 1) + "/"; } else { strDateTime = strDateTime + dtmDate.substr(6, 2) + "/"; } strDateTime = strDateTime + dtmDate.substr(0, 4) + " " + dtmDate.substr(8, 2) + ":" + dtmDate.substr(10, 2) + ":" + dtmDate.substr(12, 2); return(strDateTime); }