Important  The Native 802.11 Wireless LAN interface is deprecated in Windows 10 and later. Please use the WLAN Device Driver Interface (WDI) instead. For more information about WDI, see WLAN Universal Windows driver model.

The operating system calls the Dot11ExtIhvCreateDiscoveryProfiles function to return temporary connectivity and security profile fragments that could be used to connect to a basic service set (BSS) network for which a network profile does not exist.


DOT11EXTIHV_CREATE_DISCOVERY_PROFILES Dot11extihvCreateDiscoveryProfiles;

DWORD Dot11extihvCreateDiscoveryProfiles(
  HANDLE hIhvExtAdapter,
  BOOL bInsecure,
  PDOT11_BSS_LIST pConnectableBssid,
  PDWORD pdwReasonCode



The handle used by the IHV Extensions DLL to reference the wireless LAN (WLAN) adapter. This handle value was specified through a previous call to the Dot11ExtIhvInitAdapter IHV Handler function.


A Boolean value that specifies the security status of the discovery profiles. If set to TRUE, the IHV Extensions DLL can only return secure profiles, such as profiles which involve user authentication.


A pointer to a DOT11EXT_IHV_PROFILE_PARAMS structure. This structure defines the attributes of the basic service set (BSS) network to which the profile extensions will be applied.


A pointer to a DOT11_BSS_LIST structure, which contains one or more 802.11 Beacon or Probe Response frames received from a BSS network. This list is derived from the results of the last scan operation performed by the WLAN adapter. For more information about the scan operation, see Native 802.11 Scan Operations.

Note  For Windows Vista, the IHV Extensions DLL supports only infrastructure basic service set (BSS) networks.


A pointer to a DOT11EXT_IHV_DISCOVERY_PROFILE_LIST structure that specifies a list of IHV discovery profiles.


A pointer to a DWORD value, which provides additional information for the return value of the Dot11ExtIhvCreateDiscoveryProfiles function. The IHV Extensions DLL must set * pdwReasonCode to an L2_REASON_CODE_xxxx value, which are defined in L2cmn.h.

Return Value

If the call succeeds, the function returns ERROR_SUCCESS. Otherwise, it returns an error code defined in Winerror.h.


After the WLAN adapter completes a scan operation, the operating system might call Dot11ExtIhvCreateDiscoveryProfiles to create temporary profile fragments that could be used to connect to a BSS network for which a network profile has not been created by the user.

When Dot11ExtIhvCreateDiscoveryProfiles is called, the IHV Extensions DLL must follow these guidelines.

  • If the IHV Extensions DLL can return profile fragments that can be used to connect to the BSS network, the Dot11ExtIhvCreateDiscoveryProfiles function must return ERROR_SUCCESS. Otherwise, the function must return an appropriate error code from the ERROR_xxxx values defined in Winerror.h.
  • The IHV Extensions DLL provides more information regarding the return result of the Dot11ExtIhvCreateDiscoveryProfiles function. The DLL must set * pdwReasonCode to one of the following:
    • L2_REASON_CODE_SUCCESS, if profile fragments can be returned for the list of BSS networks.
    • An appropriate L2_REASON_CODE_xxxx error value, if the profile fragments cannot be returned for the list of BSS networks.
    • An IHV-defined value in the range from L2_REASON_CODE_IHV_BASE to (L2_REASON_CODE_IHV_BASE+ L2_REASON_CODE_GROUP_SIZE-1), regardless of whether profile fragments are returned.
For more information about creating discovery profiles, see Creating Network Profile Extensions.


Minimum supported client Available in Windows Vista and later versions of the Windows operating systems.
Target Platform Desktop
Header wlanihv.h (include Wlanihv.h, Winclient.h, L2cmn.h)

See Also