Compartilhar via


Função WlanRegisterDeviceServiceNotification (wlanapi.h)

Permite que clientes do modo de usuário com privilégios de administrador ou drivers do UMDF (User-Mode Driver Framework) se registrem para notificações não solicitadas correspondentes aos serviços de dispositivo nos quais estão interessados.

Sintaxe

DWORD WlanRegisterDeviceServiceNotification(
  HANDLE                               hClientHandle,
  const PWLAN_DEVICE_SERVICE_GUID_LIST pDevSvcGuidList
);

Parâmetros

hClientHandle

Tipo: HANDLE

O identificador de sessão do cliente, obtido por uma chamada anterior para a função WlanOpenHandle .

pDevSvcGuidList

Tipo: const PWLAN_DEVICE_SERVICE_GUID_LIST

Um ponteiro opcional para uma estrutura de WLAN_DEVICE_SERVICE_GUID_LIST constante que representa os GUIDdo serviço de dispositivo para os quais você está interessado em receber notificações. O membro dwIndex da estrutura deve ter um valor menor que o valor de seu membro dwNumberOfItems ; caso contrário, poderá ocorrer uma violação de acesso. Sempre que você chama essa API, a lista de serviços de dispositivo anterior é substituída pela nova.

Para cancelar o registro, defina pDevSvcGuidList como nullptrou passe um ponteiro para uma estrutura WLAN_DEVICE_SERVICE_GUID_LIST que tenha o dwNumberOfItems membro definido como 0.

Retornar valor

Tipo: HRESULT

Se a função for bem-sucedida, o valor retornado será ERROR_SUCCESS. Se a função falhar com ERROR_ACCESS_DENIED, o chamador não terá permissões suficientes para executar essa operação. O chamador precisa ter privilégio de administrador ou precisa ser um driver UMDF.

Comentários

A função WlanRegisterDeviceServiceNotification é uma extensão para APIs de Wi-Fi nativas existentes para serviços de dispositivo WLAN.

Um aplicativo cliente chama essa função para registrar e cancelar o registro de notificações para serviços de dispositivo nos quais ele está interessado.

Qualquer registro para receber notificações para serviços de dispositivo causados por essa função será desfeito automaticamente se o aplicativo de chamada fechar seu identificador de chamada (chamando WlanCloseHandle com o parâmetro hClientHandle ) ou se o processo terminar.

Para receber essas notificações, um cliente precisa chamar essa função com um parâmetro pDevSvcGuidList válido e também deve chamar a função WlanRegisterNotification com um argumento dwNotifSource de WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE (que é definido em wlanapi.h). O registro para receber notificações para serviços de dispositivo está em vigor até que o aplicativo feche o identificador do cliente (chamando WlanCloseHandle com o parâmetro hClientHandle ) ou o processo termina ou WlanRegisterDeviceServiceNotification é chamado com um argumento pDevSvcGuidList de nullptrou então tem dwNumberOfItems definido como 0.

Quando o sistema operacional (SO) recebe uma notificação de serviço de dispositivo de um driver IHV (fornecedor independente de hardware) e um cliente se registrou para essas notificações usando WlanRegisterDeviceServiceNotification, o cliente os receberá por meio do WLAN_NOTIFICATION_CALLBACK que ele havia registrado por meio de sua chamada para WlanRegisterNotification. Esse retorno de chamada será chamado para cada notificação recebida pelo cliente (com um buffer separado para cada notificação).

O membro NotificationSource da estrutura WLAN_NOTIFICATION_DATA recebida pela função de retorno de chamada (ou seja, o membro de dados ) será definido como WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE. O blob de dados, o GUID do serviço de dispositivo e o opcode associado a essa notificação estarão presentes no membro pData do WLAN_NOTIFICATION_DATA, que apontará para uma estrutura do tipo WLAN_DEVICE_SERVICE_NOTIFICATION_DATA.

Observação

O serviço WLAN, ou o sistema operacional, não marcar para ver se o GUIDdo serviço de dispositivo para o qual o cliente se registra é realmente compatível com o driver IHV. Cabe ao cliente consultar serviços de dispositivo com suporte usando a API WlanGetSupportedDeviceServices , se necessário.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10 Build 20348
Servidor mínimo com suporte Windows 10 Build 20348
Cabeçalho wlanapi.h