WlanSetProfilePosition-Funktion (wlanapi.h)
Die WlanSetProfilePosition-Funktion legt die Position eines einzelnen angegebenen Profils in der Einstellungsliste fest.
Syntax
DWORD WlanSetProfilePosition(
[in] HANDLE hClientHandle,
[in] const GUID *pInterfaceGuid,
[in] LPCWSTR strProfileName,
[in] DWORD dwPosition,
PVOID pReserved
);
Parameter
[in] hClientHandle
Das Sitzungshandle des Clients, das durch einen vorherigen Aufruf der WlanOpenHandle-Funktion abgerufen wurde.
[in] pInterfaceGuid
Die GUID der Schnittstelle.
[in] strProfileName
Der Name des Profils. Bei Profilnamen wird die Groß-/Kleinschreibung beachtet. Diese Zeichenfolge muss NULL-endend sein.
Windows XP mit SP3 und Wlan-API für Windows XP mit SP2: Der angegebene Name muss mit dem Profilnamen übereinstimmen, der automatisch von der SSID des Netzwerks abgeleitet wird. Für ein Infrastrukturnetzwerkprofil muss die SSID für den Profilnamen angegeben werden. Für ein Ad-hoc-Netzwerkprofil muss der angegebene Name die SSID des Ad-hoc-Netzwerks gefolgt von -adhoc
sein.
[in] dwPosition
Gibt die Position in der Einstellungsliste an, an die das Profil verschoben werden soll. 0 (null) entspricht dem ersten Profil in der Liste, das von der WlanGetProfileList-Funktion zurückgegeben wird.
pReserved
Für die zukünftige Verwendung reserviert. Muss auf NULL festgelegt werden.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.
Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden Rückgabecodes sein.
Rückgabecode | Beschreibung |
---|---|
|
Der Aufrufer verfügt nicht über ausreichende Berechtigungen, um die Profilposition zu ändern.
Bevor WlanSetProfilePosition einen Vorgang ausführt, der die relative Reihenfolge von All-User-Profilen in der Profilliste ändert oder ein Benutzerprofil an eine niedrigere Position in der Profilliste verschiebt, ruft WlanSetProfilePosition die daCL (Discretionary Access Control List) ab, die mit dem wlan_secure_all_user_profiles_order-Objekt gespeichert ist. Wenn die DACL keinen Zugriffssteuerungseintrag (Access Control Entry, ACE) enthält, der WLAN_WRITE_ACCESS Berechtigung für das Zugriffstoken des aufrufenden Threads gewährt, gibt WlanSetProfilePositionERROR_ACCESS_DENIED zurück. |
|
hClientHandle ist NULL oder ungültig, pInterfaceGuid ist NULL, strProfileName ist NULL, oder pReserved ist nicht NULL. |
|
Das Handle hClientHandle wurde in der Handletabelle nicht gefunden. |
|
Verschiedene Fehlercodes. |
Hinweise
Die Position von Gruppenrichtlinienprofilen kann nicht geändert werden.
Standardmäßig kann nur ein Benutzer, der als Mitglied der Gruppe Administratoren angemeldet ist, die Position eines Benutzerprofils ändern. Rufen Sie WlanGetSecuritySettings auf , um die tatsächlichen Benutzerrechte zu ermitteln, die zum Ändern der Position eines All-User-Profils erforderlich sind.
Verwenden Sie den Befehl netsh wlan set profileorder , um die Profilposition in der Befehlszeile festzulegen. Weitere Informationen finden Sie unter Netsh Commands for Wireless Local Area Network (WLAN).
Windows XP mit SP3 und Wlan-API für Windows XP mit SP2: Ad-hoc-Profile werden nach den Infrastrukturprofilen in der Profilliste angezeigt. Wenn Sie versuchen, ein Ad-hoc-Profil mithilfe von WlanSetProfilePosition vor einem Infrastrukturprofil zu positionieren, ist der WlanSetProfilePosition-Aufruf erfolgreich, aber der Wireless Zero Configuration-Dienst sortiert die Profilliste neu an, sodass das Ad-hoc-Profil nach allen Infrastrukturnetzwerkprofilen positioniert wird.
Gastprofile, Profile mit WPS-Authentifizierung (Wireless Provisioning Service) und Profile mit Wi-Fi Protected Access-None-Authentifizierung (WPA-None) werden nicht unterstützt. Jedes profil, das in der Liste der bevorzugten Profile angezeigt wird, hat eine feste Position in der Profilliste. Dies bedeutet, dass seine Position nicht mithilfe von WlanSetProfilePosition geändert werden kann und dass seine Position nicht durch Positionsänderungen anderer Profile beeinflusst wird.
Alle WLAN-Funktionen erfordern eine Schnittstellen-GUID für die Drahtlose Schnittstelle, wenn Profilvorgänge ausgeführt werden. Wenn eine drahtlose Schnittstelle entfernt wird, wird ihr Zustand vom Wlan-Dienst (WLANSVC) gelöscht, und es sind keine Profilvorgänge möglich.
Die WlanSetProfilePosition-Funktion kann mit ERROR_INVALID_PARAMETER fehlschlagen, wenn die im pInterfaceGuid-Parameter angegebene drahtlose Schnittstelle aus dem System entfernt wurde (z. B. ein USB-Drahtlosadapter, der entfernt wurde).
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista, Windows XP mit SP3 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wlanapi.h (wlanapi.h einschließen) |
Bibliothek | Wlanapi.lib |
DLL | Wlanapi.dll |
Verteilbare Komponente | Wlan-API für Windows XP mit SP2 |