Share via


WlanSaveTemporaryProfile-Funktion (wlanapi.h)

Die WlanSaveTemporaryProfile-Funktion speichert ein temporäres Profil im Profilspeicher.

Syntax

DWORD WlanSaveTemporaryProfile(
  [in]           HANDLE     hClientHandle,
  [in]           const GUID *pInterfaceGuid,
  [in]           LPCWSTR    strProfileName,
  [in, optional] LPCWSTR    strAllUserProfileSecurity,
  [in]           DWORD      dwFlags,
  [in]           BOOL       bOverWrite,
                 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 zu speichernden Profils. Bei Profilnamen wird die Groß-/Kleinschreibung beachtet. Diese Zeichenfolge muss NULL-beendet sein.

[in, optional] strAllUserProfileSecurity

Legt die Sicherheitsdeskriptorzeichenfolge für das All-User-Profil fest. Standardmäßig haben alle Benutzer für ein neues Benutzerprofil Schreibzugriff auf das Profil. Weitere Informationen zu Profilberechtigungen finden Sie im Abschnitt Hinweise.

Wenn dwFlags auf WLAN_PROFILE_USER festgelegt ist, wird dieser Parameter ignoriert.

Wenn dieser Parameter für ein Benutzerprofil auf NULL festgelegt ist, werden die Standardberechtigungen verwendet.

Wenn dieser Parameter für ein Benutzerprofil nicht NULL ist, wird die dem Profil zugeordnete Sicherheitsdeskriptorzeichenfolge erstellt oder geändert, nachdem das Sicherheitsdeskriptorobjekt erstellt und als Zeichenfolge analysiert wurde.

[in] dwFlags

Gibt die Flags an, die für das Profil festgelegt werden sollen. Die Flags können kombiniert werden.

Wert Bedeutung
0
Das Profil ist ein Benutzerprofil.
WLAN_PROFILE_USER
0x00000002
Das Profil ist ein Benutzerprofil.
WLAN_PROFILE_CONNECTION_MODE_SET_BY_CLIENT
0x00010000
Das Profil wurde vom Client erstellt.
WLAN_PROFILE_CONNECTION_MODE_AUTO
0x00020000
Das Profil wurde vom Modul für die automatische Konfiguration erstellt.

[in] bOverWrite

Gibt an, ob dieses Profil ein vorhandenes Profil überschreibt. Wenn dieser Parameter FALSE ist und das Profil bereits vorhanden ist, wird das vorhandene Profil nicht überschrieben, und es wird ein Fehler zurückgegeben.

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_INVALID_PARAMETER
Eine der folgenden Bedingungen ist aufgetreten:
  • hClientHandle ist NULL oder ungültig.
  • pInterfaceGuid ist NULL.
  • pReserved ist nicht NULL.
  • dwFlags ist nicht auf eine Kombination aus mindestens einem der in der obigen Tabelle angegebenen Werte festgelegt.
  • dwFlags ist auf WLAN_PROFILE_CONNECTION_MODE_AUTO und strProfileName auf NULL festgelegt.
ERROR_INVALID_HANDLE
Das Handle hClientHandle wurde in der Handle-Tabelle nicht gefunden.
ERROR_NOT_SUPPORTED
Diese Funktion wurde von einer nicht unterstützten Plattform aufgerufen. Dieser Wert wird zurückgegeben, wenn diese Funktion von einem Windows XP-Client mit SP3 oder einer Wlan-LAN-API für Windows XP mit SP2-Client aufgerufen wurde.
RPC_STATUS
Verschiedene Fehlercodes.
ERROR_INVALID_STATE
Die Schnittstelle ist derzeit nicht über ein temporäres Profil verbunden.

Hinweise

Ein temporäres Profil wird an WlanConnect übergeben oder von der Ermittlungs-Engine generiert. Eine Netzwerkverbindung kann mithilfe eines temporären Profils hergestellt werden. Mithilfe dieser API werden das temporäre Profil und die zugehörigen Benutzerdaten im Profilspeicher gespeichert.

Nach den Gruppenrichtlinienprofilen wird oben in der Liste ein neues Profil hinzugefügt. Die Position eines Profils in der Liste wird nicht geändert, wenn ein vorhandenes Profil überschrieben wird.

Alle Benutzerprofile verfügen über drei zugeordnete Berechtigungen: Lesen, Schreiben und Ausführen. Wenn ein Benutzer über Lesezugriff verfügt, kann der Benutzer Profilberechtigungen anzeigen. Wenn ein Benutzer über Ausführungszugriff verfügt, verfügt der Benutzer über Lesezugriff, und der Benutzer kann mithilfe des Profils auch eine Verbindung mit einem Netzwerk herstellen und von diesem trennen. Wenn ein Benutzer Über Schreibzugriff verfügt, hat der Benutzer den Zugriff ausgeführt, und der Benutzer kann auch Berechtigungen ändern und löschen, die einem Profil zugeordnet sind.

Im Folgenden wird das Verfahren zum Erstellen eines Sicherheitsbeschreibungsobjekts und zum Analysieren als Zeichenfolge beschrieben.

  1. Rufen Sie InitializeSecurityDescriptor auf, um einen Sicherheitsdeskriptor im Arbeitsspeicher zu erstellen.
  2. Rufen Sie SetSecurityDescriptorOwner auf.
  3. Rufen Sie InitializeAcl auf, um eine diskretionäre Zugriffssteuerungsliste (DACL) im Arbeitsspeicher zu erstellen.
  4. Rufen Sie AddAccessAllowedAce oder AddAccessDeniedAce auf, um der DACL Zugriffssteuerungseinträge (ACEs) hinzuzufügen. Legen Sie den AccessMask-Parameter entsprechend auf eine der folgenden bitweisen OR-Kombinationen fest:
    • WLAN_READ_ACCESS
    • WLAN_READ_ACCESS | WLAN_EXECUTE_ACCESS
    • WLAN_READ_ACCESS | WLAN_EXECUTE_ACCESS | WLAN_WRITE_ACCESS
  5. Rufen Sie SetSecurityDescriptorDacl auf, um die DACL zum Sicherheitsdeskriptor hinzuzufügen.
  6. Rufen Sie ConvertSecurityDescriptorToStringSecurityDescriptor auf, um den Deskriptor in Zeichenfolge zu konvertieren.
Die von ConvertSecurityDescriptorToStringSecurityDescriptor zurückgegebene Zeichenfolge kann dann als strAllUserProfileSecurity-Parameterwert verwendet werden, wenn WlanSaveTemporaryProfile aufgerufen wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wlanapi.h (einschließlich Wlanapi.h)
Bibliothek Wlanapi.lib
DLL Wlanapi.dll

Weitere Informationen

Berechtigungen der nativen WLAN-API