简体   繁体   中英

Error running Windows CE sample code

I have this sample code for disable/enable WIFI in Windows CE.

[DllImport("coredll.dll", SetLastError = true)]
private static extern int SetDevicePower(string pvDevice, int dwDeviceFlags, DevicePowerState DeviceState);

private enum DevicePowerState : int
{
    Unspecified = -1,
    D0 = 0, // Full On: full power, full functionality 
    D1, // Low Power On: fully functional at low power/performance 
    D2, // Standby: partially powered with automatic wake 
    D3, // Sleep: partially powered with device initiated wake 
    D4, // Off: unpowered 
}

private const int POWER_NAME = 0x00000001;

public Form1()
{
    InitializeComponent();
}

//Utilities.WiFi.FindDriverKey() is simply a function that returns the whole registry key name
//of the key containing the NDIS MINIPORT class GUID defined in he SDK’s pm.h:

private void button1_Click(object sender, EventArgs e)
{
    string driver = Utilities.WiFi.FindDriverKey();
    SetDevicePower(driver, POWER_NAME, DevicePowerState.D0);
}


private void button2_Click(object sender, EventArgs e)
{

    string driver = Utilities.WiFi.FindDriverKey();
    SetDevicePower(driver, POWER_NAME, DevicePowerState.D4);
}


private static string FindDriverKey()
{
    string ret = string.Empty;

    //#define PMCLASS_NDIS_MINIPORT           TEXT("{98C5250D-C29A-4985-AE5F-AFE5367E5006}") 
    //(From "c:\Program Files (x86)\Windows Mobile 6 SDK\PocketPC\Include\Armv4i\pm.h") 
    string WiFiDriverClass = "{98C5250D-C29A-4985-AE5F-AFE5367E5006}";

    foreach (string tmp in Registry.LocalMachine.OpenSubKey("System\\CurrentControlSet\\Control\\Power\\State", false).GetValueNames())
    {
        if (tmp.Contains(WiFiDriverClass))
        {
            ret = tmp;
            break;
        }
    }

    return ret;
}

However, I get this error:

The name 'Utilities' does not exist in the current context

Why am I getting this error?

Its probably because FindDriverKey() used to be in a Utilities class or namespace. Just drop the Utilities.Wifi before the call to FindDriverKey() and you should be all set. Alternatively, you could create a Utilities namespace, then create a static class called Wifi and drop the FindDriverKey() function inside the Wifi class.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM