mobile 6 下wifi的開啟關閉

來源:互聯網
上載者:User

 

註:如果在程式中添加了下面要求的標頭檔和庫檔案後,仍提示找不到或者外部參考錯誤,那麼就要在wm614\public目錄下搜尋一下添加的lib檔案和標頭檔,然後分別拷貝到:D:\Program Files\Windows Mobile 6 SDK\PocketPC\Include\Armv4i\和D:\Program Files\Windows Mobile 6 SDK\PocketPC\Lib\Armv4i\目錄下面。

 

添加標頭檔和庫檔案

#include <wrlspwr.h>

#pragma comment (lib, "ossvcs.lib")

Wifi開啟關閉實現

Ø  關閉

RDD  * deviceList = NULL;

GetWirelessDevices(&deviceList, WIRELESS_NO_PHONE);

ChangeRadioState(deviceList, 0, POWER_POST_SAVE);

FreeDeviceList(pDevice);

Ø  開啟

RDD  * deviceList = NULL;

GetWirelessDevices(&deviceList, WIRELESS_NO_PHONE);

ChangeRadioState(deviceList, 1, POWER_POST_SAVE);

FreeDeviceList(pDevice);

由於實現比較簡單,那麼就介紹一下GetWirelessDevices和ChangeRadioState這兩個函數,其實也就是簡單翻譯一下mobile 6 文檔上面的說明。

Ø  GetWirelessDevices

函數原型

HRESULT GetWirelessDevices(

  RDD **pDevices,

  DWORD dwFlags

);

參數意義

pDevices :指向鏈表中裝置指標的地址,如果成功,將會是一個RDD結構類型的節點

dwFlags  :代表哪一個裝置去設定或者是否設定所期望的狀態,下面是可能的值及其描述:

Flag

描述

WIRELESS_GET_DESIRED

1

返回RDD結構中所期望的成員變數的所期望的裝置狀態。當無線訊號開啟的時候,這是使用者所希望的。例如:如果使用者將電話設在電源管理器中,但是將訊號關閉,這個變數的值仍是1.但是實際的狀態dwState仍是0.如果你僅僅對裝置的目前狀態感興趣,那就不要傳遞這個參數並且在所期望的成員變數中也不要渴望有意義的值返回。

WIRELESS_NO_POWER_MAN

2

返回列表中排除有電源管理的無線裝置

WIRELESS_NO_PHONE

4

返回列表中沒有電話裝置

 

傳回值

描述

S_OK

成功設定無線裝置狀態

E_FAIL

指定失敗

S_FALSE

記憶體不足

Ø  ChangeRadioState

函數原型

HRESULT ChangeRadioState(
  RDD *pDev,
  DWORD dwState
  SAVEACTION sa
);

參數意義

pDev:指定無線裝置鏈表中的裝置

dwState:指定要設定的電源狀態,下面是可能的值:

狀態

描述

OFF

0

關閉無線裝置電源

ON

1

開啟無線裝置電源

DISCOVERABLE

2

設定無線裝置,可以被其他藍牙裝置發現

 

sa :指定所希望的狀態在註冊表中是如何更新的,下面是可能的枚舉值:

typedef enum _SAVEACTION {
    POWER_DONT_SAVE = 0,
    POWER_PRE_SAVE,
    POWER_POST_SAVE,
} SAVEACTION;

描述

POWER_DONT_SAVE

當射頻狀態改變時,將不會被更新

POWER_PRE_SAVE

無論射頻狀態如何改變,射頻狀態的儲存優先於射頻狀態的改變

POWER_POST_SAVE

無論射頻狀態如何改變,新的狀態都會儲存為使用者指定的狀態

 

傳回值

描述

S_OK

成功設定射頻狀態

E_FAIL

射頻狀態沒有被改變

S_FALSE

射頻狀態已經設為所期望的狀態

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.