OID_802_11_REMOVE_KEY
When set, the OID_802_11_REMOVE_KEY OID requests that the miniport driver remove the key at a specified key index for the current association.
If the key index is invalid, the miniport driver must return NDIS_STATUS_INVALID_DATA. If the key index is valid, but no key exists at that index, the miniport driver must return NDIS_STATUS_SUCCESS.
The NDIS_802_11_REMOVE_KEY structure is defined as follows:
typedef struct _NDIS_802_11_REMOVE_KEY {
ULONG Length;
ULONG KeyIndex;
NDIS_802_11_MAC_ADDRESS BSSID;
} NDIS_802_11_REMOVE_KEY, *PNDIS_802_11_REMOVE_KEY;
This structure includes the following members:
Length
The length, in bytes, of the NDIS_802_11_REMOVE_KEY structure.KeyIndex
Index of the key to remove. The key index occupies the first 8 bits and ranges from 0 through 255. Bit 31 must be 0; otherwise, the miniport driver must fail the set request and return NDIS_STATUS_INVALID_DATA. If bit 30 is set to 1, the key is a pairwise key. Otherwise, the key is a group key. If the transmit key is removed for a BSSID, no transmit key exists for the key type for a BSSID, until a transmit key is specified. The remaining bits must be set to 0; otherwise, the miniport driver must fail the request and return NDIS_STATUS_INVALID_DATA.BSSID
The MAC address of the BSSID that the key applies to. If the BSSID is unknown, this member is set to 0xFFFFFFFFFFFF.Note If the device is associated and the BSSID member's value is the same as the associated BSSID, the miniport driver must remove the key when the device disassociates from that BSSID.
The following table summarizes the miniport driver's behavior that is associated with removing a key.
Key type | BSSID | Key mapping supported | Key index | What the miniport driver must do |
---|---|---|---|---|
Pairwise |
Unknown |
Yes |
Ignored |
Delete all the pairwise keys. |
Pairwise |
Known |
Yes |
Ignored |
Delete the pairwise key for this BSSID. |
Pairwise |
Not applicable |
No |
Ignored |
Delete group key at index 0. |
Group |
Unknown |
Not applicable |
Required |
Delete all the group keys that the key index specifies. |
Group |
Known |
Not applicable |
Required |
Delete the group key that the key index specifies for this BSSID. |