Compartir a través de


Función WlanSaveTemporaryProfile (wlanapi.h)

La función WlanSaveTemporaryProfile guarda un perfil temporal en el almacén de perfiles.

Sintaxis

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

Parámetros

[in] hClientHandle

Identificador de sesión del cliente, obtenido por una llamada anterior a la función WlanOpenHandle .

[in] pInterfaceGuid

GUID de la interfaz.

[in] strProfileName

Nombre del perfil que se va a guardar. Los nombres de perfil distinguen mayúsculas de minúsculas. Esta cadena debe terminar en NULL.

[in, optional] strAllUserProfileSecurity

Establece la cadena del descriptor de seguridad en el perfil de todo el usuario. De forma predeterminada, para un nuevo perfil de todos los usuarios, todos los usuarios tienen acceso de escritura en el perfil. Para obtener más información sobre los permisos de perfil, vea la sección Comentarios.

Si dwFlags se establece en WLAN_PROFILE_USER, este parámetro se omite.

Si este parámetro se establece en NULL para un perfil de todos los usuarios, se usan los permisos predeterminados.

Si este parámetro no es NULL para un perfil de usuario completo, la cadena de descriptor de seguridad asociada al perfil se crea o modifica después de crear y analizar el objeto descriptor de seguridad como una cadena.

[in] dwFlags

Especifica las marcas que se van a establecer en el perfil. Las marcas se pueden combinar.

Valor Significado
0
El perfil es un perfil de usuario completo.
WLAN_PROFILE_USER
0x00000002
El perfil es un perfil por usuario.
WLAN_PROFILE_CONNECTION_MODE_SET_BY_CLIENT
0x00010000
El cliente creó el perfil.
WLAN_PROFILE_CONNECTION_MODE_AUTO
0x00020000
El perfil se creó mediante el módulo de configuración automática.

[in] bOverWrite

Especifica si este perfil está sobrescribir un perfil existente. Si este parámetro es FALSE y el perfil ya existe, no se sobrescribirá el perfil existente y se devolverá un error.

pReserved

Reservado para uso futuro. Debe establecerse en NULL.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es ERROR_SUCCESS.

Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes códigos de retorno.

Código devuelto Descripción
ERROR_INVALID_PARAMETER
Se produjo una de las condiciones siguientes:
  • hClientHandle es NULL o no es válido.
  • pInterfaceGuid es NULL.
  • pReserved no es NULL.
  • dwFlags no se establece en una combinación de uno o varios de los valores especificados en la tabla anterior.
  • dwFlags se establece en WLAN_PROFILE_CONNECTION_MODE_AUTO y strProfileName es NULL.
ERROR_INVALID_HANDLE
No se encontró el identificador hClientHandle en la tabla handle.
ERROR_NOT_SUPPORTED
Se llamó a esta función desde una plataforma no admitida. Este valor se devolverá si se llamó a esta función desde un Windows XP con SP3 o la API de LAN inalámbrica para Windows XP con el cliente SP2.
RPC_STATUS
Varios códigos de error.
ERROR_INVALID_STATE
La interfaz no está conectada actualmente mediante un perfil temporal.

Comentarios

Un perfil temporal es el que se pasa a WlanConnect o lo genera el motor de detección. Se puede establecer una conexión de red mediante un perfil temporal. El uso de esta API guarda el perfil temporal y los datos de usuario asociados en el almacén de perfiles.

Se agrega un nuevo perfil en la parte superior de la lista después de los perfiles de directiva de grupo. La posición de un perfil en la lista no cambia si se sobrescribe un perfil existente.

Los perfiles de todos los usuarios tienen tres permisos asociados: lectura, escritura y ejecución. Si un usuario tiene acceso de lectura, el usuario puede ver los permisos de perfil. Si un usuario tiene acceso de ejecución, el usuario tiene acceso de lectura y el usuario también puede conectarse a una red y desconectarse de ella mediante el perfil. Si un usuario tiene acceso de escritura, el usuario tiene acceso de ejecución y el usuario también puede modificar y eliminar permisos asociados a un perfil.

A continuación se describe el procedimiento para crear un objeto descriptor de seguridad y analizarlo como una cadena.

  1. Llame a InitializeSecurityDescriptor para crear un descriptor de seguridad en la memoria.
  2. Llame a SetSecurityDescriptorOwner.
  3. Llame a InitializeAcl para crear una lista de control de acceso discrecional (DACL) en memoria.
  4. Llame a AddAccessAllowedAce o AddAccessDeniedAce para agregar entradas de control de acceso (ACE) a la DACL. Establezca el parámetro AccessMask en una de las siguientes combinaciones OR bit a bit según corresponda:
    • WLAN_READ_ACCESS
    • WLAN_READ_ACCESS | WLAN_EXECUTE_ACCESS
    • WLAN_READ_ACCESS | WLAN_EXECUTE_ACCESS | WLAN_WRITE_ACCESS
  5. Llame a SetSecurityDescriptorDacl para agregar la DACL al descriptor de seguridad.
  6. Llame a ConvertSecurityDescriptorToStringSecurityDescriptor para convertir el descriptor en cadena.
La cadena devuelta por ConvertSecurityDescriptorToStringSecurityDescriptor se puede usar como el valor del parámetro strAllUserProfileSecurity al llamar a WlanSaveTemporaryProfile.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wlanapi.h (incluya Wlanapi.h)
Library Wlanapi.lib
Archivo DLL Wlanapi.dll

Consulte también

Permisos nativos de la API wifi