2012年3月7日星期三

关于windows wifi API的一段说明

If you are starting the development of some software that must manage WiFi connections and settings in Windows, you will be faced with the following problem. There are two versions of Windows that have API for WiFi networks management: Windows XP Service Pack 2 (or SP3) and Windows Vista, and both versions use absolutely different APIs for wireless network management.

  • Windows XP SP2/SP3
    - uses the "Wireless Zero Configuration" (WZC) API. This API is almost undocumented and there aren't any examples how to use it, although this API can perform all necessary operations with WiFi connections and Windows XP SP2/SP3 is the most popular version of Windows at present.
  • Windows Vista and Windows 7
    - uses the "Native WiFi" API. This is a new API that allows you to manage WiFi networks, this API is simpler and more documented, although there is only one example how to use it. You can find this example for the C++ language in the Vista SDK.
There is a patch from Microsoft that allows you to use part of the "Native WiFi" API in Windows XP SP2, though it means that your software must download and install this patch. Unfortunately, we have tried using the "Native WiFi" API for XP in our projects and we have found out that it does not work properly in some cases. It returns some data fields incorrectly and does not set some of them at all. After studying it in detail, we have discovered that the "Native WiFi" API for Windows XP is only a wrapper for the WZC API and it is much better to use the WZC API directly.

--------------------------------------


参考:

http://www.codeproject.com/Articles/19341/Wifi-scanner-custom-MFC-controls

http://openwps2.googlecode.com/svn-history/r73/trunk/WM_client_cpp/WifiPeek.cpp

http://www.codeproject.com/Articles/24756/How-to-query-miniport-driver-information-802-11-OI

没有评论:

发表评论