/* Find a network profile through its' SSId and securit type, and the SSId is an unicode string. */
WIFI_MGR_NETWORK_PROFILE* WifiMgrGetProfileByUnicodeSSId(IN CHAR16 *SSId, IN UINT8 SecurityType, IN LIST_ENTRY *ProfileList)
/* Find a network profile through its' SSId and securit type, and the SSId is an unicode string. */
WIFI_MGR_NETWORK_PROFILE* WifiMgrGetProfileByUnicodeSSId(IN CHAR16 *SSId, IN UINT8 SecurityType, IN LIST_ENTRY *ProfileList)
{
  LIST_ENTRY                *Entry;
  WIFI_MGR_NETWORK_PROFILE  *Profile;
  if ((SSId == NULL) || (ProfileList == NULL)) {
    return NULL;
  }
  NET_LIST_FOR_EACH (Entry, ProfileList) {
    Profile = NET_LIST_USER_STRUCT_S (
                Entry,
                WIFI_MGR_NETWORK_PROFILE,
                Link,
                WIFI_MGR_PROFILE_SIGNATURE
                );
    if ((StrCmp (SSId, Profile->SSId) == 0) && (SecurityType == Profile->SecurityType)) {
      return Profile;
    }
  }
  return NULL;
}