A: 

I would start by examining source code at http://wiimotelib.codeplex.com/

HTH

unclepaul84
Can you please be a little more specific? There is a lot of code there to wade through.
Jim Fell
Not sure what the downvote was for but look into HIDImports.cs and Wiimote.cs
unclepaul84
A: 

Nice article at developerfusion: http://www.developerfusion.com/article/84338/making-usb-c-friendly/

JohnForDummies
A: 

In the WMI Code Creator select these options:

Namespace: root\WMI

Class: MSWmi_PnPInstanceNames

Select InstanceNames from the Results box for the following code:

using System;
using System.Management;
using System.Windows.Forms;

namespace WMISample
{
    public class MyWMIQuery
    {
        public static void Main()
        {
            try
            {
                ManagementObjectSearcher searcher = 
                    new ManagementObjectSearcher("root\\WMI", 
                    "SELECT * FROM MSWmi_PnPInstanceNames"); 

                foreach (ManagementObject queryObj in searcher.Get())
                {
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("MSWmi_PnPInstanceNames instance");
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("InstanceName: {0}", queryObj["InstanceName"]);
                }
            }
            catch (ManagementException e)
            {
                MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
            }
        }
    }
}
Jim Fell