Поделиться через


Функция WlanSetProfileList (wlanapi.h)

Функция WlanSetProfileList задает порядок предпочтений профилей для заданного интерфейса.

Синтаксис

DWORD WlanSetProfileList(
  [in] HANDLE     hClientHandle,
  [in] const GUID *pInterfaceGuid,
  [in] DWORD      dwItems,
  [in] LPCWSTR    *strProfileNames,
       PVOID      pReserved
);

Параметры

[in] hClientHandle

Дескриптор сеанса клиента, полученный при предыдущем вызове функции WlanOpenHandle .

[in] pInterfaceGuid

GUID интерфейса.

[in] dwItems

Количество профилей в параметре strProfileNames .

[in] strProfileNames

Имена профилей в нужном порядке. В именах профилей учитывается регистр. Эта строка должна быть завершена null.

Windows XP с пакетом обновления 3 (SP3) и API беспроводной локальной сети для Windows XP с пакетом обновления 2 (SP2): Указанные имена должны соответствовать именам профилей, автоматически полученным из SSID сети. Для профилей сети инфраструктуры для имени профиля необходимо указать SSID. Для нерегламентированных сетевых профилей указанное имя должно быть SSID нерегламентированной сети, за которым следует -adhoc.

pReserved

Зарезервировано для последующего использования. Необходимо задать значение NULL.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение будет ERROR_SUCCESS.

Если функция завершается сбоем, возвращаемое значение может быть одним из следующих кодов возврата.

Код возврата Описание
ERROR_ACCESS_DENIED
Вызывающий объект не имеет достаточных разрешений для изменения списка профилей.

Перед тем как WlanSetProfileList выполнит операцию, которая изменяет относительный порядок профилей всех пользователей в списке профилей или перемещает профиль всех пользователей на более низкую позицию в списке профилей, WlanSetProfileList извлекает список управления доступом на уровне пользователей (DACL), хранящийся вместе с объектом wlan_secure_all_user_profiles_order . Если DACL не содержит запись управления доступом (ACE), которая предоставляет WLAN_WRITE_ACCESS разрешение маркеру доступа вызывающего потока, то WlanSetProfileList возвращает ERROR_ACCESS_DENIED.

ERROR_INVALID_HANDLE
Дескриптор hClientHandle не найден в таблице дескрипторов.
ERROR_INVALID_PARAMETER
Произошло одно из следующих условий:
  • hClientHandle имеет значение NULL или недопустимо.
  • pInterfaceGuid имеет значение NULL.
  • DwItems имеет значение 0.
  • StrProfileNames имеет значение NULL.
  • Одно и то же имя профиля отображается в strProfileNames несколько раз.
  • pReserved не имеет значение NULL.
ERROR_NOT_FOUND
StrProfileNames содержит имя профиля, отсутствующего в хранилище профилей.
RPC_STATUS
Различные коды ошибок.

Комментарии

Функция WlanSetProfileList задает порядок предпочтений профилей беспроводной локальной сети для заданного беспроводного интерфейса.

Профили в списке должны совпадать с текущими профилями, возвращаемыми функцией WlanGetProfileList . Невозможно изменить положение профилей групповой политики.

Для всех функций беспроводной локальной сети требуется guid интерфейса для беспроводного интерфейса при выполнении операций с профилем. При удалении беспроводного интерфейса его состояние удаляется из службы беспроводной локальной сети (WLANSVC) и операции с профилем невозмещаются.

Функция WlanSetProfileList может завершиться сбоем с ERROR_INVALID_PARAMETER , если беспроводной интерфейс, указанный в параметре pInterfaceGuid , был удален из системы (например, беспроводной адаптер USB, который был удален).

Требования

Требование Значение
Минимальная версия клиента Windows Vista, Windows XP с пакетом обновления 3 (SP3) [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header wlanapi.h (включая Wlanapi.h)
Библиотека Wlanapi.lib
DLL Wlanapi.dll
Распространяемые компоненты API беспроводной локальной сети для Windows XP с пакетом обновления 2 (SP2)

См. также раздел

WlanGetProfile

WlanGetProfileList

WlanSetProfile