Share via


Função WlanSaveTemporaryProfile (wlanapi.h)

A função WlanSaveTemporaryProfile salva um perfil temporário no repositório de perfil.

Sintaxe

DWORD WlanSaveTemporaryProfile(
  [in]           HANDLE     hClientHandle,
  [in]           const GUID *pInterfaceGuid,
  [in]           LPCWSTR    strProfileName,
  [in, optional] LPCWSTR    strAllUserProfileSecurity,
  [in]           DWORD      dwFlags,
  [in]           BOOL       bOverWrite,
                 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 a ser salvo. Os nomes de perfil diferenciam maiúsculas de minúsculas. Essa cadeia de caracteres deve ser terminada em NULL.

[in, optional] strAllUserProfileSecurity

Define a cadeia de caracteres do descritor de segurança no perfil de todos os usuários. Por padrão, para um novo perfil de todos os usuários, todos os usuários têm acesso de gravação no perfil. Para obter mais informações sobre permissões de perfil, consulte a seção Comentários.

Se dwFlags estiver definido como WLAN_PROFILE_USER, esse parâmetro será ignorado.

Se esse parâmetro for definido como NULL para um perfil de todos os usuários, as permissões padrão serão usadas.

Se esse parâmetro não for NULL para um perfil de todos os usuários, a cadeia de caracteres do descritor de segurança associada ao perfil será criada ou modificada depois que o objeto descritor de segurança for criado e analisado como uma cadeia de caracteres.

[in] dwFlags

Especifica os sinalizadores a serem definidos no perfil. Os sinalizadores podem ser combinados.

Valor Significado
0
O perfil é um perfil de todos os usuários.
WLAN_PROFILE_USER
0x00000002
O perfil é um perfil por usuário.
WLAN_PROFILE_CONNECTION_MODE_SET_BY_CLIENT
0x00010000
O perfil foi criado pelo cliente.
WLAN_PROFILE_CONNECTION_MODE_AUTO
0x00020000
O perfil foi criado pelo módulo de configuração automática.

[in] bOverWrite

Especifica se esse perfil está substituindo um perfil existente. Se esse parâmetro for FALSE e o perfil já existir, o perfil existente não será substituído e um erro será retornado.

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_INVALID_PARAMETER
Uma das seguintes condições ocorreu:
  • hClientHandle é NULL ou inválido.
  • pInterfaceGuid é NULL.
  • pReserved não é NULL.
  • dwFlags não é definido como uma combinação de um ou mais dos valores especificados na tabela acima.
  • dwFlags é definido como WLAN_PROFILE_CONNECTION_MODE_AUTO e strProfileName é NULL.
ERROR_INVALID_HANDLE
O identificador hClientHandle não foi encontrado na tabela de identificador.
ERROR_NOT_SUPPORTED
Essa função foi chamada de uma plataforma sem suporte. Esse valor será retornado se essa função for chamada de um Windows XP com SP3 ou API lan sem fio para Windows XP com cliente SP2.
RPC_STATUS
Vários códigos de erro.
ERROR_INVALID_STATE
No momento, a interface não está conectada usando um perfil temporário.

Comentários

Um perfil temporário é aquele passado para WlanConnect ou gerado pelo mecanismo de descoberta. Uma conexão de rede pode ser estabelecida usando um perfil temporário. O uso dessa API salva o perfil temporário e os dados do usuário associados ao repositório de perfil.

Um novo perfil é adicionado na parte superior da lista após os perfis de política de grupo. A posição de um perfil na lista não será alterada se um perfil existente for substituído.

Os perfis de todos os usuários têm três permissões associadas: leitura, gravação e execução. Se um usuário tiver acesso de leitura, o usuário poderá exibir permissões de perfil. Se um usuário tiver acesso de execução, o usuário terá acesso de leitura e o usuário também poderá se conectar e desconectar de uma rede usando o perfil. Se um usuário tiver acesso de gravação, o usuário terá acesso de execução e o usuário também poderá modificar e excluir permissões associadas a um perfil.

A seguir, descreve o procedimento para criar um objeto descritor de segurança e analisá-lo como uma cadeia de caracteres.

  1. Chame InitializeSecurityDescriptor para criar um descritor de segurança na memória.
  2. Chame SetSecurityDescriptorOwner.
  3. Chame InitializeAcl para criar uma DACL (lista de controle de acesso discricionário) na memória.
  4. Chame AddAccessAllowedAce ou AddAccessDeniedAce para adicionar ACEs (entradas de controle de acesso) à DACL. Defina o parâmetro AccessMask como uma das seguintes combinações OR bit a bit, conforme apropriado:
    • WLAN_READ_ACCESS
    • WLAN_READ_ACCESS | WLAN_EXECUTE_ACCESS
    • WLAN_READ_ACCESS | WLAN_EXECUTE_ACCESS | WLAN_WRITE_ACCESS
  5. Chame SetSecurityDescriptorDacl para adicionar a DACL ao descritor de segurança.
  6. Chame ConvertSecurityDescriptorToStringSecurityDescriptor para converter o descritor em cadeia de caracteres.
A cadeia de caracteres retornada por ConvertSecurityDescriptorToStringSecurityDescriptor pode ser usada como o valor do parâmetro strAllUserProfileSecurity ao chamar WlanSaveTemporaryProfile.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [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

Confira também

Permissões de API wi-fi nativas