Функция WlanSetProfilePosition (wlanapi.h)
Функция WlanSetProfilePosition задает позицию одного указанного профиля в списке предпочтений.
Синтаксис
DWORD WlanSetProfilePosition(
[in] HANDLE hClientHandle,
[in] const GUID *pInterfaceGuid,
[in] LPCWSTR strProfileName,
[in] DWORD dwPosition,
PVOID pReserved
);
Параметры
[in] hClientHandle
Дескриптор сеанса клиента, полученный при предыдущем вызове функции WlanOpenHandle .
[in] pInterfaceGuid
Идентификатор GUID интерфейса.
[in] strProfileName
Имя профиля. В именах профилей учитывается регистр. Эта строка должна заканчиваться значением NULL.
Windows XP с пакетом обновления 3 (SP3) и API беспроводной локальной сети для Windows XP с пакетом обновления 2 (SP2): Указанное имя должно совпадать с именем профиля, автоматически производным от SSID сети. Для сетевого профиля инфраструктуры необходимо указать SSID для имени профиля. Для нерегламентированного сетевого профиля предоставленным именем должен быть идентификатор SSID нерегламентированной сети, за которым следует -adhoc
.
[in] dwPosition
Указывает позицию в списке предпочтений, на которую следует сместить профиль. 0 (ноль) соответствует первому профилю в списке, возвращаемому функцией WlanGetProfileList .
pReserved
Зарезервировано для последующего использования. Для параметра должно быть задано значение NULL.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет ERROR_SUCCESS.
Если функция завершается сбоем, возвращаемое значение может быть одним из следующих кодов возврата.
Код возврата | Описание |
---|---|
|
Вызывающий объект не имеет достаточных разрешений для изменения положения профиля.
Перед тем как WlanSetProfilePosition выполнит операцию, которая изменяет относительный порядок профилей всех пользователей в списке профилей или перемещает профиль всех пользователей на более низкую позицию в списке профилей, WlanSetProfilePosition извлекает список управления доступом на уровне пользователей (DACL), хранящийся в объекте wlan_secure_all_user_profiles_order . Если DACL не содержит запись управления доступом (ACE), которая предоставляет WLAN_WRITE_ACCESS разрешение маркеру доступа вызывающего потока, WlanSetProfilePosition возвращает ERROR_ACCESS_DENIED. |
|
hClientHandle имеет значение NULL или недопустимо, pInterfaceGuid — NULL, strProfileName — NULL или pReserved — не NULL. |
|
Дескриптор hClientHandle не найден в таблице дескрипторов. |
|
Различные коды ошибок. |
Комментарии
Положение профилей групповой политики изменить нельзя.
По умолчанию только пользователь, вошедший в группу Администраторы, может изменить положение профиля всех пользователей. Вызовите WlanGetSecuritySettings , чтобы определить фактические права пользователя, необходимые для изменения положения профиля для всех пользователей.
Чтобы задать позицию профиля в командной строке, используйте команду netsh wlan set profileorder . Дополнительные сведения см. в разделе Команды Netsh для беспроводной локальной сети (wlan).
Windows XP с пакетом обновления 3 (SP3) и API беспроводной локальной сети для Windows XP с пакетом обновления 2 (SP2): Нерегламентированные профили отображаются после профилей инфраструктуры в списке профилей. Если вы попытаетесь разместить нерегламентированный профиль перед профилем инфраструктуры с помощью WlanSetProfilePosition, вызов WlanSetProfilePosition будет выполнен успешно, но служба беспроводной конфигурации изменит порядок списка профилей таким образом, чтобы нерегламентированный профиль располагался после всех профилей сети инфраструктуры.
Гостевые профили, профили с проверкой подлинности службы беспроводной подготовки (WPS) и профили с проверкой подлинности Wi-Fi защищенных Access-None (WPA-None) не поддерживаются. Любой такой профиль, который отображается в списке предпочтительных профилей, имеет фиксированную позицию в списке профилей. Это означает, что его положение не может быть изменено с помощью WlanSetProfilePosition и что его положение не зависит от изменений положения других профилей.
Для всех функций беспроводной локальной сети требуется guid интерфейса для беспроводного интерфейса при выполнении операций с профилем. При удалении беспроводного интерфейса его состояние удаляется из службы беспроводной локальной сети (WLANSVC) и операции с профилем невозможны.
Функция WlanSetProfilePosition может завершиться сбоем с 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) |