Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Permite que los clientes en modo de usuario con privilegios de administrador o controladores de User-Mode Driver Framework (UMDF) se registren para recibir notificaciones no solicitadas correspondientes a los servicios de dispositivo en los que están interesados.
Syntax
DWORD WlanRegisterDeviceServiceNotification(
HANDLE hClientHandle,
const PWLAN_DEVICE_SERVICE_GUID_LIST pDevSvcGuidList
);
Parámetros
hClientHandle
Tipo: HANDLE
Identificador de sesión del cliente, obtenido por una llamada anterior a la función WlanOpenHandle .
pDevSvcGuidList
Tipo: PWLAN_DEVICE_SERVICE_GUID_LIST CONST
Puntero opcional a una estructura de WLAN_DEVICE_SERVICE_GUID_LIST constante que representa el GUIDdel servicio de dispositivo para el que está interesado en recibir notificaciones. El miembro dwIndex de la estructura debe tener un valor menor que el valor de su miembro dwNumberOfItems ; De lo contrario, puede producirse una infracción de acceso. Cada vez que se llama a esta API, la lista de servicios de dispositivo anterior se reemplaza por la nueva.
Para anular el registro, establezca pDevSvcGuidListnullptren o pase un puntero a una estructura de WLAN_DEVICE_SERVICE_GUID_LIST que tenga el dwNumberOfItems miembro establecido en 0.
Valor devuelto
Tipo: HRESULT
Si la función se ejecuta correctamente, se ERROR_SUCCESS el valor devuelto. Si se produce un error en la función con ERROR_ACCESS_DENIED, el autor de la llamada no tiene permisos suficientes para realizar esta operación. El autor de la llamada debe tener privilegios de administrador o debe ser un controlador UMDF.
Observaciones
La función WlanRegisterDeviceServiceNotification es una extensión de las API nativas de Wi-Fi existentes para los servicios de dispositivos WLAN.
Una aplicación cliente llama a esta función para registrar y anular el registro de las notificaciones de los servicios de dispositivo en los que está interesado.
Cualquier registro para recibir notificaciones de servicios de dispositivo causados por esta función se deshacería automáticamente si la aplicación que realiza la llamada cierra su identificador de llamada (llamando a WlanCloseHandle con el parámetro hClientHandle ) o si el proceso finaliza.
Para recibir estas notificaciones, un cliente debe llamar a esta función con un parámetro pDevSvcGuidList válido y también debe llamar a la función WlanRegisterNotification con un argumento dwNotifSource de WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE (que se define en wlanapi.h). El registro para recibir notificaciones de servicios de dispositivo está en vigor hasta que la aplicación cierra el identificador de cliente (llamando a WlanCloseHandle con el parámetro hClientHandle ), o el proceso finaliza, o se llama a WlanRegisterDeviceServiceNotification con un argumento pDevSvcGuidList de nullptr, o bien tiene dwNumberOfItems establecido en 0.
Cuando el sistema operativo (SO) recibe una notificación de servicio de dispositivo de un controlador de proveedor de hardware independiente (IHV) y un cliente se ha registrado para estas notificaciones mediante WlanRegisterDeviceServiceNotification, el cliente los recibirá a través del WLAN_NOTIFICATION_CALLBACK que había registrado a través de su llamada a WlanRegisterNotification. Se llamará a esta devolución de llamada para cada notificación que el cliente haya recibido (con un búfer independiente para cada notificación).
El miembro NotificationSource de la estructura WLAN_NOTIFICATION_DATA recibida por la función de devolución de llamada (es decir, el miembro de datos ) se establecerá en WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE. El blob de datos, el GUID del servicio de dispositivo y el código de operación asociado a esta notificación estarán presentes en el miembro pData del WLAN_NOTIFICATION_DATA, que apuntará a una estructura de tipo WLAN_DEVICE_SERVICE_NOTIFICATION_DATA.
Nota:
El servicio WLAN, o el sistema operativo, no comprobarán si el GUIDdel servicio de dispositivo es compatible realmente con el controlador IHV. Es necesario que el cliente consulte los servicios de dispositivo admitidos mediante la API WlanGetSupportedDeviceServices si es necesario.
Requisitos
| Requirement | Importancia |
|---|---|
| Cliente mínimo compatible | Compilación 20348 de Windows 10 |
| Servidor mínimo admitido | Compilación 20348 de Windows 10 |
| Header | wlanapi.h |
| Library | OneCoreUAP.Lib |