Accessing Profile and Context Data

 

A custom user interface (UI) that is supported by the Native 802.11 IHV UI Extensions DLL can be displayed through either:

Regardless of whether the UI request is displayed through either a balloon notification or the operating system's Network Connection Wizard, the Native 802.11 IHV UI Extensions DLL can access the following data:

Network connection profile data
If the custom UI is displayed within the Network Connection Wizard, the Native 802.11 IHV UI Extensions DLL can access the IHV-defined portion of the current network connection profile. This data is formatted as an XML fragment bounded by the <IHV> </IHV> XML tags. The XML data within these tags is specific to the IHV's implementation and is opaque to the operating system.

Access to the profile data is through the Read and Write methods of the IPropertyBag COM interface for a property named IHV_PROFILE_DATA.

Context data
The Native 802.11 IHV Extensions DLL specifies a custom UI through a DOT11EXT_IHV_UI_REQUEST structure, which is passed as an argument in both the Dot11ExtSendUIRequest and Dot11ExtIhvQueryUIRequest functions. Within the DOT11EXT_IHV_UI_REQUEST structure, the IHV can provide (through the pvUIRequest member) context data specific to the custom UI. Typically, the IHV formats this data with default settings for the custom UI.

Access to the profile data is through the Read and Write methods of the IPropertyBag COM interface for a property named IHV_NOTIFICATION_DATA.

The Native 802.11 IHV UI Extensions DLL accesses the IPropertyBag COM interface through the IUnknown pointer returned through the IObjectWithSite::SetSite method. For more information, see IObjectWithSite.

As an alternative to the IPropertyBag COM interface, the Native 802.11 IHV UI Extensions DLL can access the IHV_PROFILE_DATA and IHV_NOTIFICATION_DATA properties through the GetProp Win32 function. In this situation, the DLL must use the handle of the parent window, as shown in the following example:

LPWSTR lpszBuffer = (LPWSTR) GetProp(GetParent(hwndDlg), L"IHV_PROFILE_DATA");