WPS - Read Zero Config Wireless Profiles

Discussion in 'Wireless Networking' started by Guest, Apr 14, 2005.

  1. Guest

    Guest Guest

    I am trying to read the list of SSIDs stored in the Zero Config's preferred
    network list. I believe this is possible through WPS -
    IProvisioningDomain::Querry. But I am not able to find any example for this.
    It would be helpful if you could direct me to a sample.

    Thanks,
    Priya
     
    Guest, Apr 14, 2005
    #1
    1. Advertisements

  2. Arkady Frenkel, Apr 17, 2005
    #2
    1. Advertisements

  3. Guest

    Guest Guest

    Thanks. I will check it out.
     
    Guest, Apr 18, 2005
    #3
  4. WPS is an component which is built into the WZCSVC service to support
    "hotspot" technologies. The WPSDDK documentation does not describe how to
    extract SSIDs but how to add or query your own hotspot XML files on a
    client. WPS is a something which you'd probably not need to examine unless
    you're a hotspot provider yourself. There is one exception to this
    statement: there is an API "CreateProfile" included in the WPS documentation
    which you can use to create a wireless profile in the preferred list. Note,
    this will not satisfy your initial problem but I may have a workaround
    solution.

    Personally, I don't know of a publicly documented API to extract the
    properties of a wireless profile in XPSP2. So my suggestion to find the list
    of preferred SSIDs is through the logs created by the wireless service. If
    you enable wireless tracing:

    C:\>netsh ras set tracing WZCTrace enable

    you'll create a %SystemDrive%\Windows\Tracing\WZCTrace.log file which is
    spew generated from the WZCSVC service. You can parse this log file for the
    SSIDs scanned based on the preferred list. This list will provide you with
    the basic properties (read, SSID) of the preferred network list.
     
    Oliver Saal [MS], Apr 18, 2005
    #4
  5. Guest

    Guest Guest

    Oliver,

    Thanks for your detailed response. All I want is the names of the wireless
    profiles in the preferred list. Does WZCSVC store the XML file in any
    specific path/location. In that case, I can probably try parsing the XML file
    using an XML parser to extract the preferred list.

    Please let me know.

    Thanks,
    Priya
     
    Guest, Apr 19, 2005
    #5
  6. Guest

    Guest Guest

    I see that the preferred network list is present under-

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WZCSVC\Parameters\Interfaces\{interface GUID}]

    There is a registry value "Static#....". This is REG_BINARY and has the
    preferred network name. Is the structure of this registry value available? If
    so, I can extract the preferred nw ssid from this. Please help.

    Thanks,
    Priya
     
    Guest, Apr 20, 2005
    #6
  7. This registry key is not public because it structure and contents change
    quite frequently. This would not be a suggestable method to obtain
    preferred list entries.

    With some simple parsing logic you find your preferred networks list in the
    WZCTRACE.LOG. You are looking for a set of strings like this:

    [2752] 10:26:16:189: [WZCCopySelectedConfigs(02E9EEE8->4/4, 0)
    [2752] 10:26:16:189: WZCCopySelectedConfigs[2]: SSID=<9:MyNetwork> From
    List
    [2752] 10:26:16:189: WZCCopySelectedConfigs[0]: SSID=<11:AnotherSSID> From
    List
    [2752] 10:26:16:189: WZCCopySelectedConfigs[1]: SSID=<9:ThirdSSID> From
    List
    [2752] 10:26:16:189: WZCCopySelectedConfigs[3]: SSID=<8:HomeSSID> From
    List
    [2752] 10:26:16:189: WZCCopySelectedConfigs]=0, NumCopied=<4>, Index=<4/4>

    Does this help narrow down your search?

    --
    Jerry Peterson
    Windows Network Services - Wireless

    This posting is provided "AS IS" with no warranties, and confers no rights.
     
    Jerry Peterson[MSFT], Apr 20, 2005
    #7
  8. Guest

    Guest Guest

    Jerry,

    Thanks for the reply. My concerns in doing this are-

    1. My application would have to enable tracing and the user could turn off
    tracing anytime. In that case I might not be guaranteed to get the preferred
    list whenever I query.

    2. If tracing is not enabled and I just enable tracing, I am not sure the
    trace file will contain preferred list..meaning- I would have to wait for
    WZCSVC to update the trace file before I can get the preferred list.

    3. The trace file could be large and parsing might not be very efficient
    method to get the preferred list. Especially since the log file becomes huge
    with time and my app would need this info more than once.

    Instead is it possible to directly parse the XML file where WZC stores the
    profiles?

    Thanks again,
    Priya

     
    Guest, Apr 21, 2005
    #8
  9. Guest

    Guest Guest

    Jerry,

    Is it possible to parse the XML file where zero config stores the profiles
    directly? Parsing the trace to get preferred networks might not work for me
    (for reasons mentioned below).

    Thanks,
    Priya


     
    Guest, Apr 26, 2005
    #9
  10. No it is not possible because the Profiles are not stored in XML format.
    XML format can be used for operations with the Provisioning API, but the
    wireless service uses a unique structure in the profile store. Direct
    modification of the profile store is not a method I can advocate or
    recommend.

    --
    Jerry Peterson
    Windows Network Services - Wireless

    This posting is provided "AS IS" with no warranties, and confers no rights.
     
    Jerry Peterson[MSFT], May 2, 2005
    #10
  11. Guest

    PriyKo Guest

    Jerry,

    Thanks for your replies. Is this something that APIs will be available
    for at some point in the future?

    Priya

     
    PriyKo, May 4, 2005
    #11
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.