// wlanihv.h
typedef struct _DOT11EXT_APIS {
DOT11EXT_ALLOCATE_BUFFER Dot11ExtAllocateBuffer;
DOT11EXT_FREE_BUFFER Dot11ExtFreeBuffer;
DOT11EXT_SET_PROFILE_CUSTOM_USER_DATA Dot11ExtSetProfileCustomUserData;
DOT11EXT_GET_PROFILE_CUSTOM_USER_DATA Dot11ExtGetProfileCustomUserData;
DOT11EXT_SET_CURRENT_PROFILE Dot11ExtSetCurrentProfile;
DOT11EXT_SEND_UI_REQUEST Dot11ExtSendUIRequest;
DOT11EXT_PRE_ASSOCIATE_COMPLETION Dot11ExtPreAssociateCompletion;
DOT11EXT_POST_ASSOCIATE_COMPLETION Dot11ExtPostAssociateCompletion;
DOT11EXT_SEND_NOTIFICATION Dot11ExtSendNotification;
DOT11EXT_SEND_PACKET Dot11ExtSendPacket;
DOT11EXT_SET_ETHERTYPE_HANDLING Dot11ExtSetEtherTypeHandling;
DOT11EXT_SET_AUTH_ALGORITHM Dot11ExtSetAuthAlgorithm;
DOT11EXT_SET_UNICAST_CIPHER_ALGORITHM Dot11ExtSetUnicastCipherAlgorithm;
DOT11EXT_SET_MULTICAST_CIPHER_ALGORITHM Dot11ExtSetMulticastCipherAlgorithm;
DOT11EXT_SET_DEFAULT_KEY Dot11ExtSetDefaultKey;
DOT11EXT_SET_KEY_MAPPING_KEY Dot11ExtSetKeyMappingKey;
DOT11EXT_SET_DEFAULT_KEY_ID Dot11ExtSetDefaultKeyId;
DOT11EXT_NIC_SPECIFIC_EXTENSION Dot11ExtNicSpecificExtension;
DOT11EXT_SET_EXCLUDE_UNENCRYPTED Dot11ExtSetExcludeUnencrypted;
DOT11EXT_ONEX_START Dot11ExtStartOneX;
DOT11EXT_ONEX_STOP Dot11ExtStopOneX;
DOT11EXT_PROCESS_ONEX_PACKET Dot11ExtProcessOneXPacket;
} DOT11EXT_APIS, *PDOT11EXT_APIS;
View the official Windows Driver Kit DDI referenceNo description available.
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 DOT11EXT_APIS structure specifies a list of pointers to the IHV Extensibility functions that are supported by the operating system.
Dot11ExtAllocateBufferA pointer to the Dot11ExtAllocateBuffer function.
Dot11ExtFreeBufferA pointer to the Dot11ExtFreeBuffer function.
Dot11ExtSetProfileCustomUserDataA pointer to the Dot11ExtSetProfileCustomUserData function.
Dot11ExtGetProfileCustomUserDataA pointer to the Dot11ExtGetProfileCustomUserData function.
Dot11ExtSetCurrentProfileA pointer to the Dot11ExtSetCurrentProfile function.
Dot11ExtSendUIRequestA pointer to the Dot11ExtSendUIRequest function.
Dot11ExtPreAssociateCompletionA pointer to the Dot11ExtPreAssociateCompletion function.
Dot11ExtPostAssociateCompletionA pointer to the Dot11ExtPostAssociateCompletion function.
Dot11ExtSendNotificationA pointer to the Dot11ExtSendNotification function.
Dot11ExtSendPacketA pointer to the Dot11ExtSendPacket function.
Dot11ExtSetEtherTypeHandlingA pointer to the Dot11ExtSetEtherTypeHandling function.
Dot11ExtSetAuthAlgorithmA pointer to the Dot11ExtSetAuthAlgorithm function.
Dot11ExtSetUnicastCipherAlgorithmA pointer to the Dot11ExtSetUnicastCipherAlgorithm function.
Dot11ExtSetMulticastCipherAlgorithmA pointer to the Dot11ExtSetMulticastCipherAlgorithm function.
Dot11ExtSetDefaultKeyA pointer to the Dot11ExtSetDefaultKey function.
Dot11ExtSetKeyMappingKeyA pointer to the Dot11ExtSetKeyMappingKey function.
Dot11ExtSetDefaultKeyIdA pointer to the Dot11ExtSetDefaultKeyId function.
Dot11ExtNicSpecificExtensionA pointer to the Dot11ExtNicSpecificExtension function.
Dot11ExtSetExcludeUnencryptedA pointer to the Dot11ExtSetExcludeUnencrypted function.
Dot11ExtStartOneXA pointer to the Dot11ExtStartOneX function.
Dot11ExtStopOneXA pointer to the Dot11ExtStopOneX function.
Dot11ExtProcessSecurityPacketDot11ExtProcessOneXPacketA pointer to the Dot11ExtProcessOneXPacket function.
typedef struct _DOT11EXT_APIS {
DOT11EXT_ALLOCATE_BUFFER Dot11ExtAllocateBuffer;
DOT11EXT_FREE_BUFFER Dot11ExtFreeBuffer;
DOT11EXT_SET_PROFILE_CUSTOM_USER_DATA Dot11ExtSetProfileCustomUserData;
DOT11EXT_GET_PROFILE_CUSTOM_USER_DATA Dot11ExtGetProfileCustomUserData;
DOT11EXT_SET_CURRENT_PROFILE Dot11ExtSetCurrentProfile;
DOT11EXT_SEND_UI_REQUEST Dot11ExtSendUIRequest;
DOT11EXT_PRE_ASSOCIATE_COMPLETION Dot11ExtPreAssociateCompletion;
DOT11EXT_POST_ASSOCIATE_COMPLETION Dot11ExtPostAssociateCompletion;
DOT11EXT_SEND_NOTIFICATION Dot11ExtSendNotification;
DOT11EXT_SEND_PACKET Dot11ExtSendPacket;
DOT11EXT_SET_ETHERTYPE_HANDLING Dot11ExtSetEtherTypeHandling;
DOT11EXT_SET_AUTH_ALGORITHM Dot11ExtSetAuthAlgorithm;
DOT11EXT_SET_UNICAST_CIPHER_ALGORITHM Dot11ExtSetUnicastCipherAlgorithm;
DOT11EXT_SET_MULTICAST_CIPHER_ALGORITHM Dot11ExtSetMulticastCipherAlgorithm;
DOT11EXT_SET_DEFAULT_KEY Dot11ExtSetDefaultKey;
DOT11EXT_SET_KEY_MAPPING_KEY Dot11ExtSetKeyMappingKey;
DOT11EXT_SET_DEFAULT_KEY_ID Dot11ExtSetDefaultKeyId;
DOT11EXT_NIC_SPECIFIC_EXTENSION Dot11ExtNicSpecificExtension;
DOT11EXT_SET_EXCLUDE_UNENCRYPTED Dot11ExtSetExcludeUnencrypted;
DOT11EXT_ONEX_START Dot11ExtStartOneX;
DOT11EXT_ONEX_STOP Dot11ExtStopOneX;
DOT11EXT_PROCESS_ONEX_PACKET Dot11ExtProcessOneXPacket;
} DOT11EXT_APIS, *PDOT11EXT_APIS;
The IHV Extensibility functions are not statically or dynamically linked to the IHV Extensions DLL. Instead, when the operating system calls the Dot11ExtIhvInitService IHV handler function, it passes the list of pointers to the IHV Extensibility functions through the pDot11ExtAPI parameter.
All of the function pointers are required and will not be set to NULL.
Native 802.11 IHV Handler Functions
Dot11ExtSetProfileCustomUserData
Native 802.11 IHV Extensibility Functions
Dot11ExtSetUnicastCipherAlgorithm
Dot11ExtSetMulticastCipherAlgorithm
Dot11ExtPreAssociateCompletion
Dot11ExtPostAssociateCompletion