Inscription d’une instance de service avec NLA
Les clients NLA peuvent enregistrer les informations de configuration du réseau à l’échelle du système, ce qui permet aux futures requêtes de retourner les informations de configuration spécifiées, que le réseau soit actif ou non. Cette fonctionnalité permet aux clients NLA d’affecter une expérience utilisateur d’informations réseau cohérente sur plusieurs applications.
Paramètres
Pour inscrire une instance de service auprès du fournisseur de service de reconnaissance d’emplacement réseau, utilisez la fonction WSASetService . Pour pouvoir inscrire correctement une instance de service, certains paramètres de la fonction WSASetService doivent être définis avec les informations appropriées, comme expliqué dans cette section. Pour référence rapide, la fonction WSASetService a la syntaxe suivante :
INT WSASetService(
LPWSAQUERYSET lpqsRegInfo,
WSAESETSERVICEOP essOperation,
DWORD dwControlFlags
);
Pour le paramètre lpqsRegInfo , fournissez une structure WSAQUERYSET à partir d’un résultat de requête NLA SP ou construite conformément aux exigences d’une requête NLA SP, comme indiqué dans interrogation NLA.
Les opérations prises en charge pour le paramètre essOperation sont les suivantes :
-
_Registre RNRSERVICE
-
Le réseau défini dans la structure WSAQUERYSET fournie dans lpqsRegInfo est rendu persistant pour l’utilisateur actif en stockant l’instance réseau dans la ruche du registre de l’utilisateur actuel, ce qui autorise l’emprunt d’identité.
-
RNRSERVICE _ Supprimer
-
Si le réseau défini dans la structure WSAQUERYSET fournie dans lpqsRegInfo est persistant, il sera supprimé.
L’opération spécifiée dans le paramètre essOperation peut être modifiée par les options suivantes, qui peuvent être spécifiées avec binaire ou logique :
-
_nom convivial de l' _ extension NLA
-
Lorsqu’il est utilisé avec RNRSERVICE _ Register, le champ lpszComment du réseau défini dans lpqsRegInfo est vérifié pour la validité et stocké de façon permanente. Lorsqu’il est utilisé avec RNRSERVICE _ Delete et que le réseau défini a un nom convivial, le nom convivial est supprimé, mais l’entrée réseau reste intacte.
-
_réseau NLA ALLUSERS _
-
Lorsqu’elle est utilisée avec RNRSERVICE _ Register, l’entrée est stockée de façon permanente sous HKEY _ local _ machine, ce qui la rend disponible pendant les requêtes à tous les utilisateurs sur l’ordinateur local. Lorsqu’il est utilisé avec RNRSERVICE _ Delete, le réseau spécifié est supprimé de HKEY _ local _ machine. Une erreur est retournée si le réseau spécifié n’est pas présent. Pour supprimer un réseau de la ruche du registre de l’utilisateur actuel, cet indicateur ne doit pas être spécifié. Cet indicateur n’est valide que dans le contexte de sécurité d’un administrateur système local.
NLA prend en charge les codes d’erreur suivants pour les appels de fonction WSASetService :
| Erreur | Signification |
|---|---|
| WSANOTINITIALISED | Un appel réussi à la fonction WSAStartup pour initialiser NLA n’a pas été effectué. |
| WSAEACCESS | _ _ Le réseau NLA AllUsers a été spécifié dans dwControlFlags alors qu’il n’est pas dans le contexte de sécurité d’un administrateur système local. |
| WSAEALREADY | Le réseau spécifié est déjà stocké de façon persistante de la manière demandée, et aucun indicateur n’a été spécifié dans dwControlFlags pour indiquer une mise à jour de l’entrée existante. |
| WSAEAFNOSUPPORT | Une famille de protocoles a été spécifiée pour laquelle il n’existe pas de prise en charge. Seules les familles de protocole IP sont prises en charge dans NLA. |
| WSAEPFNOSUPPORT | Un protocole a été spécifié pour lequel il n’existe pas de prise en charge. Seul le protocole IP est pris en charge dans NLA. |