Compartilhar via


Função WlanSetProfilePosition (wlanapi.h)

A função WlanSetProfilePosition define a posição de um único perfil especificado na lista de preferências.

Sintaxe

DWORD WlanSetProfilePosition(
  [in] HANDLE     hClientHandle,
  [in] const GUID *pInterfaceGuid,
  [in] LPCWSTR    strProfileName,
  [in] DWORD      dwPosition,
       PVOID      pReserved
);

Parâmetros

[in] hClientHandle

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

[in] pInterfaceGuid

O GUID da interface.

[in] strProfileName

O nome do perfil. Os nomes de perfil diferenciam maiúsculas de minúsculas. Essa cadeia de caracteres deve ser terminada em NULL.

Windows XP com SP3 e API lan sem fio para Windows XP com SP2: O nome fornecido deve corresponder ao nome do perfil derivado automaticamente do SSID da rede. Para um perfil de rede de infraestrutura, o SSID deve ser fornecido para o nome do perfil. Para um perfil de rede ad hoc, o nome fornecido deve ser o SSID da rede ad hoc seguido por -adhoc.

[in] dwPosition

Indica a posição na lista de preferências para a qual o perfil deve ser deslocado. 0 (zero) corresponde ao primeiro perfil da lista retornado pela função WlanGetProfileList .

pReserved

Reservado para uso futuro. Deve ser definido como NULL.

Retornar valor

Se a função obtiver êxito, o valor retornado será ERROR_SUCCESS.

Se a função falhar, o valor retornado poderá ser um dos seguintes códigos de retorno.

Código de retorno Descrição
ERROR_ACCESS_DENIED
O chamador não tem permissões suficientes para alterar a posição do perfil.

Antes de WlanSetProfilePosition executar uma operação que altera a ordem relativa de todos os perfis de usuário na lista de perfis ou move um perfil de todos os usuários para uma posição inferior na lista de perfis, WlanSetProfilePosition recupera a DACL (lista de controle de acesso discricionário) armazenada com o objeto wlan_secure_all_user_profiles_order . Se a DACL não contiver uma ACE (entrada de controle de acesso) que conceda permissão WLAN_WRITE_ACCESS ao token de acesso do thread de chamada, WlanSetProfilePosition retornará ERROR_ACCESS_DENIED.

ERROR_INVALID_PARAMETER
hClientHandle é NULL ou inválido, pInterfaceGuid é NULL, strProfileName é NULL ou pReserved não é NULL.
ERROR_INVALID_HANDLE
O identificador hClientHandle não foi encontrado na tabela de identificador.
RPC_STATUS
Vários códigos de erro.

Comentários

A posição dos perfis de política de grupo não pode ser alterada.

Por padrão, somente um usuário conectado como membro do grupo Administradores pode alterar a posição de um perfil de todos os usuários. Chame WlanGetSecuritySettings para determinar os direitos reais de usuário necessários para alterar a posição de um perfil de todos os usuários.

Para definir a posição do perfil na linha de comando, use o comando netsh wlan set profileorder . Para obter mais informações, consulte Comandos netsh para rede local sem fio (wlan).

Windows XP com SP3 e API lan sem fio para Windows XP com SP2: Os perfis ad hoc aparecem após os perfis de infraestrutura na lista de perfis. Se você tentar posicionar um perfil ad hoc antes de um perfil de infraestrutura usando WlanSetProfilePosition, a chamada WlanSetProfilePosition terá êxito, mas o serviço de Configuração Zero Sem Fio reordenará a lista de perfis de modo que o perfil ad hoc seja posicionado após todos os perfis de rede de infraestrutura.

Não há suporte para perfis de convidado, perfis com autenticação WPS (Serviço de Provisionamento Sem Fio) e perfis com autenticação Wi-Fi Access-None Protegida (WPA-None). Qualquer perfil desse tipo que aparece na lista de perfis preferenciais tem uma posição fixa na lista de perfis. Isso significa que sua posição não pode ser alterada usando WlanSetProfilePosition e que sua posição não é afetada por alterações de posição de outros perfis.

Todas as funções lan sem fio exigem um GUID de interface para a interface sem fio ao executar operações de perfil. Quando uma interface sem fio é removida, seu estado é desmarcado do WLANSVC (Wireless LAN Service) e nenhuma operação de perfil é possível.

A função WlanSetProfilePosition poderá falhar com ERROR_INVALID_PARAMETER se a interface sem fio especificada no parâmetro pInterfaceGuid tiver sido removida do sistema (um adaptador sem fio USB que foi removido, por exemplo).

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista, Windows XP com SP3 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wlanapi.h (inclua Wlanapi.h)
Biblioteca Wlanapi.lib
DLL Wlanapi.dll
Redistribuível API de LAN sem fio para Windows XP com SP2

Confira também

WlanGetProfile

WlanGetProfileList

WlanSetProfile

WlanSetProfileList