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


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

Функция WlanSetFilterList задает список разрешений и запретов.

Синтаксис

DWORD WlanSetFilterList(
  [in]           HANDLE                    hClientHandle,
  [in]           WLAN_FILTER_LIST_TYPE     wlanFilterListType,
  [in, optional] const PDOT11_NETWORK_LIST pNetworkList,
                 PVOID                     pReserved
);

Параметры

[in] hClientHandle

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

[in] wlanFilterListType

Значение WLAN_FILTER_LIST_TYPE , указывающее тип списка фильтров. Значение должно быть wlan_filter_list_type_user_permit или wlan_filter_list_type_user_deny. Списки, определенные групповой политикой, нельзя задать с помощью этой функции.

[in, optional] pNetworkList

Указатель на DOT11_NETWORK_LIST структуру, содержащую список сетей, которые необходимо разрешить или запретить. Элемент dwIndex структуры должен иметь значение меньше, чем значение элемента dwNumberOfItems структуры; в противном случае может произойти нарушение доступа.

pReserved

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

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

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

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

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

При вызове с параметром wlanFilterListType , для которого задано значение wlan_filter_list_type_user_permit, WlanSetFilterList извлекает список управления доступом на уровне пользователей (DACL), хранящийся в объекте wlan_secure_permit_list . При вызове с параметром wlanFilterListType , для которого задано значение wlan_filter_list_type_user_deny, WlanSetFilterList извлекает список DACL, хранящийся в объекте wlan_secure_deny_list . В любом из этих случаев, если DACL не содержит запись управления доступом (ACE), которая предоставляет WLAN_WRITE_ACCESS разрешение маркеру доступа вызывающего потока, WlanSetFilterList возвращает ERROR_ACCESS_DENIED.

ERROR_INVALID_PARAMETER
hClientHandle имеет значение NULL или недопустимо, или pReserved не равно NULL.
ERROR_INVALID_HANDLE
Дескриптор hClientHandle не найден в таблице дескрипторов.
ERROR_NOT_SUPPORTED
Эта функция была вызвана из неподдерживаемой платформы. Это значение будет возвращено, если эта функция была вызвана из клиента Windows XP с пакетом обновления 3 (SP3) или API беспроводной локальной сети для Windows XP с пакетом обновления 2 (SP2).
RPC_STATUS
Различные коды ошибок.

Комментарии

Списки разрешений и запретов групповой политики имеют приоритет над списками разрешений и запретов пользователя. Это означает, что доступ к сети в списке разрешений пользователя будет запрещен, если сеть появится в списке запретов групповой политики. Аналогичным образом, доступ к сети в списке запрещенных пользователей будет разрешен, если сеть отображается в списке разрешений групповой политики. Сети, которые не входят в список пользователей или список групповой политики, будут разрешены.

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

Чтобы очистить список фильтров, задайте для параметра pNetworkListзначение NULL или передайте указатель на структуру DOT11_NETWORK_LIST , для которого для элемента dwNumberOfItems задано значение 0.

Чтобы добавить все идентификаторы SSID в список фильтров, передайте указатель на структуру DOT11_NETWORK_LIST со связанной структурой DOT11_NETWORK , у которого элемент uSSIDLengthDOT11_SSID структуры имеет значение 0.

Чтобы добавить все типы BSS в список фильтров, передайте указатель на DOT11_NETWORK_LIST со связанной структурой DOT11_NETWORK , для которого член dot11BssType имеет значение dot11_BSS_type_any.

Команды netsh wlan add filter и netsh wlan delete filter предоставляют аналогичные функции в командной строке. Дополнительные сведения см. в разделе Команды Netsh для беспроводной локальной сети (wlan).

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header wlanapi.h (включая Wlanapi.h)
Библиотека Wlanapi.lib
DLL Wlanapi.dll

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

WlanGetFilterList