Freigeben über


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 -adhocsein.

[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
ERROR_ACCESS_DENIED
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.

ERROR_INVALID_PARAMETER
hClientHandle ist NULL oder ungültig, pInterfaceGuid ist NULL, strProfileName ist NULL, oder pReserved ist nicht NULL.
ERROR_INVALID_HANDLE
Das Handle hClientHandle wurde in der Handletabelle nicht gefunden.
RPC_STATUS
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

Weitere Informationen

WlanGetProfile

WlanGetProfileList

WlanSetProfile

WlanSetProfileList