Exemplo n.º 1
0
        private void AddCounters(IEnumerable <string> validPaths)
        {
            uint resultCode = (uint)PdhResults.PDH_CSTATUS_VALID_DATA;

            foreach (string validPath in validPaths)
            {
                IntPtr counterPointer;
                resultCode = Apis.PdhAddCounter(this._safeQueryHandle, validPath, IntPtr.Zero, out counterPointer);
                if (resultCode == PdhResults.PDH_CSTATUS_VALID_DATA)
                {
                    CounterHandleNInstance instance = new CounterHandleNInstance()
                    {
                        CounterHandle = counterPointer, InstanceName = null
                    };
                    PDH_COUNTER_PATH_ELEMENTS pCounterPathElements = PdhHelper.ParsePath(validPath);

                    if (pCounterPathElements.InstanceName != null)
                    {
                        instance.InstanceName = pCounterPathElements.InstanceName.ToLower(CultureInfo.InvariantCulture);
                    }
                    if (!this._consumerPathToHandleAndInstanceMap.ContainsKey(validPath.ToLower(CultureInfo.InvariantCulture)))
                    {
                        this._consumerPathToHandleAndInstanceMap.Add(validPath.ToLower(CultureInfo.InvariantCulture), instance);
                    }
                }
            }
        }
Exemplo n.º 2
0
        private void AddCounters(IEnumerable<string> validPaths)
        {
            uint resultCode = (uint)PdhResults.PDH_CSTATUS_VALID_DATA;
            foreach (string validPath in validPaths)
            {
                IntPtr counterPointer;
                resultCode = Apis.PdhAddCounter(this._safeQueryHandle, validPath, IntPtr.Zero, out counterPointer);
                if (resultCode == PdhResults.PDH_CSTATUS_VALID_DATA)
                {
                    CounterHandleNInstance instance = new CounterHandleNInstance() { CounterHandle = counterPointer, InstanceName = null };
                    PDH_COUNTER_PATH_ELEMENTS pCounterPathElements = PdhHelper.ParsePath(validPath);

                    if (pCounterPathElements.InstanceName != null)
                    {
                        instance.InstanceName = pCounterPathElements.InstanceName.ToLower(CultureInfo.InvariantCulture);
                    }
                    if (!this._consumerPathToHandleAndInstanceMap.ContainsKey(validPath.ToLower(CultureInfo.InvariantCulture)))
                    {
                        this._consumerPathToHandleAndInstanceMap.Add(validPath.ToLower(CultureInfo.InvariantCulture), instance);
                    }
                }
            }
        }