Как добиться связывания классов wmi с помощью c ++? - PullRequest
0 голосов
/ 12 июня 2018

У меня есть пример кода, как показано ниже

using System;
using System.Collections.Generic;
using System.Linq;
using System.Management;
using System.Text;

namespace WMIIRQ
{
    class Program
    {
        static void Main(string[] args)
        {
            foreach(ManagementObject Memory in new ManagementObjectSearcher(
                "select * from Win32_DeviceMemoryAddress").Get())
            {

                Console.WriteLine("Address=" + Memory["Name"]);
                // associate Memory addresses  with Pnp Devices
                foreach(ManagementObject Pnp in new ManagementObjectSearcher(
                    "ASSOCIATORS OF {Win32_DeviceMemoryAddress.StartingAddress='" + Memory["StartingAddress"] + "'} WHERE RESULTCLASS  = Win32_PnPEntity").Get())
                {
                    Console.WriteLine("  Pnp Device =" + Pnp["Caption"]);

                    // associate Pnp Devices with IRQ
                    foreach(ManagementObject IRQ in new ManagementObjectSearcher(
                        "ASSOCIATORS OF {Win32_PnPEntity.DeviceID='" + Pnp["PNPDeviceID"] + "'} WHERE RESULTCLASS  = Win32_IRQResource").Get())
                    {
                        Console.WriteLine("    IRQ=" + IRQ["Name"]);
                    }
                }

            }
            Console.ReadLine();
        }
    }
}

Я не знаком с c #, я получил этот код по какой-то ссылке, мне нужны некоторые методы в c ++, чтобы я мог выполнять точную операцию, как указано вышеупоминается в коде.Я много искал, но не мог точно, что мне нужно.Может ли кто-нибудь предложить мне метод, чтобы получить его.Заранее спасибо.

1 Ответ

0 голосов
/ 12 июня 2018

Есть очень полные документы от Microsoft о том, как это сделать здесь .

В основном вам нужно использовать COM для ускорения всех типов объектов, которые вам нужны, вызывать запросы, затемочистить явно в конце.Это грязно, но работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...