Fonction WlanSaveTemporaryProfile (wlanapi.h)

La fonction WlanSaveTemporaryProfile enregistre un profil temporaire dans le magasin de profils.

Syntaxe

DWORD WlanSaveTemporaryProfile(
  [in]           HANDLE     hClientHandle,
  [in]           const GUID *pInterfaceGuid,
  [in]           LPCWSTR    strProfileName,
  [in, optional] LPCWSTR    strAllUserProfileSecurity,
  [in]           DWORD      dwFlags,
  [in]           BOOL       bOverWrite,
                 PVOID      pReserved
);

Paramètres

[in] hClientHandle

Le handle de session du client, obtenu par un appel précédent à la fonction WlanOpenHandle .

[in] pInterfaceGuid

GUID de l’interface.

[in] strProfileName

Nom du profil à enregistrer. Les noms de profil respectent la casse. Cette chaîne doit être terminée par null.

[in, optional] strAllUserProfileSecurity

Définit la chaîne de descripteur de sécurité sur le profil tout utilisateur. Par défaut, pour un nouveau profil utilisateur, tous les utilisateurs disposent d’un accès en écriture sur le profil. Pour plus d’informations sur les autorisations de profil, consultez la section Remarques.

Si dwFlags a la valeur WLAN_PROFILE_USER, ce paramètre est ignoré.

Si ce paramètre a la valeur NULL pour un profil utilisateur, les autorisations par défaut sont utilisées.

Si ce paramètre n’a pas la valeur NULL pour un profil tout utilisateur, la chaîne de descripteur de sécurité associée au profil est créée ou modifiée après la création et l’analyse de l’objet de descripteur de sécurité en tant que chaîne.

[in] dwFlags

Spécifie les indicateurs à définir sur le profil. Les indicateurs peuvent être combinés.

Valeur Signification
0
Le profil est un profil tout utilisateur.
WLAN_PROFILE_USER
0x00000002
Le profil est un profil par utilisateur.
WLAN_PROFILE_CONNECTION_MODE_SET_BY_CLIENT
0x00010000
Le profil a été créé par le client.
WLAN_PROFILE_CONNECTION_MODE_AUTO
0x00020000
Le profil a été créé par le module de configuration automatique.

[in] bOverWrite

Spécifie si ce profil remplace un profil existant. Si ce paramètre a la valeur FALSE et que le profil existe déjà, le profil existant n’est pas remplacé et une erreur est retournée.

pReserved

Réservé pour un usage futur. Doit être défini sur NULL.

Valeur retournée

Si la fonction réussit, la valeur de retour est ERROR_SUCCESS.

Si la fonction échoue, la valeur de retour peut être l’un des codes de retour suivants.

Code de retour Description
ERROR_INVALID_PARAMETER
L’une des conditions suivantes s’est produite :
  • hClientHandle a la valeur NULL ou non valide.
  • pInterfaceGuid a la valeur NULL.
  • pReserved n’a pas la valeur NULL.
  • dwFlags n’est pas défini sur une combinaison d’une ou plusieurs des valeurs spécifiées dans le tableau ci-dessus.
  • dwFlags a la valeur WLAN_PROFILE_CONNECTION_MODE_AUTO et strProfileName a la valeur NULL.
ERROR_INVALID_HANDLE
Le handle hClientHandle est introuvable dans la table handle.
ERROR_NOT_SUPPORTED
Cette fonction a été appelée à partir d’une plateforme non prise en charge. Cette valeur sera retournée si cette fonction a été appelée à partir d’un windows XP avec l’API LAN sans fil ou SP3 pour Windows XP avec le client SP2.
RPC_STATUS
Différents codes d’erreur.
ERROR_INVALID_STATE
L’interface n’est actuellement pas connectée à l’aide d’un profil temporaire.

Remarques

Un profil temporaire est celui passé à WlanConnect ou généré par le moteur de découverte. Une connexion réseau peut être établie à l’aide d’un profil temporaire. L’utilisation de cette API enregistre le profil temporaire et les données utilisateur associées dans le magasin de profils.

Un nouveau profil est ajouté en haut de la liste après les profils de stratégie de groupe. La position d’un profil dans la liste n’est pas modifiée si un profil existant est remplacé.

Les profils tous les utilisateurs ont trois autorisations associées : lire, écrire et exécuter. Si un utilisateur dispose d’un accès en lecture, il peut afficher les autorisations de profil. Si un utilisateur a un accès d’exécution, l’utilisateur dispose d’un accès en lecture et l’utilisateur peut également se connecter à un réseau et se déconnecter d’un réseau à l’aide du profil. Si un utilisateur dispose d’un accès en écriture, l’utilisateur dispose d’un accès d’exécution et l’utilisateur peut également modifier et supprimer des autorisations associées à un profil.

L’article suivant décrit la procédure permettant de créer un objet de descripteur de sécurité et de l’analyser en tant que chaîne.

  1. Appelez InitializeSecurityDescriptor pour créer un descripteur de sécurité en mémoire.
  2. Appelez SetSecurityDescriptorOwner.
  3. Appelez InitializeAcl pour créer une liste de contrôle d’accès discrétionnaire (DACL) en mémoire.
  4. Appelez AddAccessAllowedAce ou AddAccessDeniedAce pour ajouter des entrées de contrôle d’accès (AAC) au DACL. Définissez le paramètre AccessMask sur l’une des combinaisons OR au niveau du bit suivantes, selon le cas :
    • WLAN_READ_ACCESS
    • WLAN_READ_ACCESS | WLAN_EXECUTE_ACCESS
    • WLAN_READ_ACCESS | WLAN_EXECUTE_ACCESS | WLAN_WRITE_ACCESS
  5. Appelez SetSecurityDescriptorDacl pour ajouter la liste DACL au descripteur de sécurité.
  6. Appelez ConvertSecurityDescriptorToStringSecurityDescriptor pour convertir le descripteur en chaîne.
La chaîne retournée par ConvertSecurityDescriptorToStringSecurityDescriptor peut ensuite être utilisée comme valeur du paramètre strAllUserProfileSecurity lors de l’appel de WlanSaveTemporaryProfile.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wlanapi.h (inclure Wlanapi.h)
Bibliothèque Wlanapi.lib
DLL Wlanapi.dll

Voir aussi

Autorisations de l’API Wifi natif