Compartir a través de


Función WlanHostedNetworkSetSecondaryKey (wlanapi.h)

La función WlanHostedNetworkSetSecondaryKey configura la clave de seguridad secundaria que usará la red hospedada inalámbrica.

Sintaxis

DWORD WlanHostedNetworkSetSecondaryKey(
  [in]            HANDLE                      hClientHandle,
  [in]            DWORD                       dwKeyLength,
  [in]            PUCHAR                      pucKeyData,
  [in]            BOOL                        bIsPassPhrase,
  [in]            BOOL                        bPersistent,
  [out, optional] PWLAN_HOSTED_NETWORK_REASON pFailReason,
                  PVOID                       pvReserved
);

Parámetros

[in] hClientHandle

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

[in] dwKeyLength

Número de bytes de datos válidos en la matriz de datos clave a la que apunta el parámetro pucKeyData . Esta longitud de clave debe incluir la terminación '\0' si la clave es una frase de contraseña.

[in] pucKeyData

Puntero a un búfer que contiene los datos de clave. El número de bytes de datos válidos en el búfer debe ser al menos el valor especificado en el parámetro dwKeyLength .

[in] bIsPassPhrase

Valor booleano que indica si la matriz de datos clave a la que apunta el parámetro pucKeyData está en formato de frase de contraseña.

Si este parámetro es TRUE, la matriz de datos de clave está en formato de frase de contraseña. Si este parámetro es FALSE, la matriz de datos de clave no está en formato de frase de contraseña.

[in] bPersistent

Valor booleano que indica si la matriz de datos clave a la que apunta el parámetro pucKeyData se va a almacenar y reutilizar más adelante o es solo para un solo uso.

Si este parámetro es TRUE, la matriz de datos de clave se almacenará y reutilizará más adelante. Si este parámetro es FALSE, la matriz de datos de clave se usará para una sesión (la sesión actual o la siguiente si no se inicia la red hospedada).

[out, optional] pFailReason

Puntero opcional a un valor que recibe el motivo del error, si se produce un error en la llamada a la función WlanHostedNetworkSetSecondaryKey . Los valores posibles por el motivo del error proceden del tipo de enumeración WLAN_HOSTED_NETWORK_REASON definido en el archivo de encabezado Wlanapi.h .

pvReserved

Reservado para uso futuro. Este parámetro debe ser 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_HANDLE
Un identificador no es válido. Este error se devuelve si no se encontró el identificador especificado en el parámetro hClientHandle en la tabla de identificadores.
ERROR_INVALID_PARAMETER
Un parámetro es incorrecto. Este error se devuelve si se produce alguna de las condiciones siguientes:
  • hClientHandle es NULL.
  • pucKeyData es NULL.
  • pucKeyData no apunta a una clave válida bien formada.
  • pvReserved no es NULL.
ERROR_INVALID_STATE
El recurso no está en el estado correcto para realizar la operación solicitada. Esto puede ocurrir si la red hospedada inalámbrica estaba en proceso de apagado.
ERROR_SERVICE_NOT_ACTIVE
El servicio no se ha iniciado. Este error se devuelve si el servicio WLAN AutoConfig no se está ejecutando.
Otros
Varios rpc y otros códigos de error. Use FormatMessage para obtener la cadena de mensaje del error devuelto.

Observaciones

La función WlanHostedNetworkSetSecondaryKey es una extensión de las API inalámbricas nativas agregadas para admitir la red hospedada inalámbrica en Windows 7 y en Windows Server 2008 R2 con el servicio LAN inalámbrico instalado.

Una aplicación cliente llama a la función WlanHostedNetworkSetSecondaryKey para configurar la clave de seguridad secundaria que usará la red hospedada inalámbrica. Cualquier cambio de red hospedada causado por esta función no se deshacería automáticamente si la aplicación que realiza la llamada cierra su identificador de llamada (llamando a WlanCloseHandle con el parámetro hClientHandle ) o si finaliza el proceso.

Una vez iniciada, la red inalámbrica hospedada permitirá que los pares inalámbricos se asocien a esta clave de seguridad secundaria además de la clave de seguridad principal. El usuario siempre especifica la clave de seguridad secundaria según sea necesario, mientras que el sistema operativo genera la clave de seguridad principal con una mayor seguridad.

La clave de seguridad secundaria pasada en el búfer a la que apunta el parámetro pucKeyData se usa con WPA2-Personal autenticación y debe tener uno de los siguientes formatos:

  • Frase de contraseña de clave que consta de una matriz de caracteres ASCII de 8 a 63 caracteres. El parámetro dwKeyLength debe incluir la terminación '\0' en la frase de contraseña. El valor del parámetro dwKeyLength debe estar en el intervalo de 9 a 64.
  • Clave binaria que consta de 32 bytes de datos de clave binaria. El parámetro dwKeyLength debe ser 32 para la clave binaria.

Para configurar una clave de seguridad secundaria válida, el parámetro dwKeyLength debe estar en el intervalo correcto y el parámetro pucKeyData debe apuntar a un búfer de memoria válido que contenga los bytes de datos especificados. Para quitar la clave de seguridad secundaria configurada actualmente del sistema, la aplicación debe llamar a la función WlanHostedNetworkSetSecondaryKey con cero en el parámetro dwKeyLength y NULL en el parámetro pucKeyData .

La función WlanHostedNetworkSetSecondaryKey devolverá ERROR_INVALID_PARAMETER si el parámetro pucKeyData es NULL, pero el parámetro dwKeyLength no es cero. La función WlanHostedNetworkSetSecondaryKey también devolverá ERROR_INVALID_PARAMETER si el parámetro dwKeyLength es cero, pero el parámetro pucKeyData no es NULL.

La clave de seguridad secundaria se establece normalmente antes de que se inicie la red inalámbrica hospedada. A continuación, se usará la próxima vez que se inicie la red hospedada.

También se puede establecer una clave de seguridad secundaria una vez iniciada la red hospedada. En este caso, la clave de seguridad secundaria se usará inmediatamente. Los clientes que usen la clave de seguridad secundaria anterior permanecerán conectados, pero no podrán volver a conectarse si se desconectan por cualquier motivo o si se reinicia la red hospedada inalámbrica.

La clave de seguridad secundaria se puede especificar como persistente si el parámetro bPersistent está establecido en TRUE. Cuando se especifica como persistente, la clave de seguridad secundaria se usaría inmediatamente si ya se ha iniciado la red hospedada y también se reutilizará cada vez que se inicie la red hospedada en el futuro.

Si la clave de seguridad secundaria no se especifica como persistente, se usará inmediatamente si la red hospedada ya se ha iniciado o solo la próxima vez que se inicie la red hospedada. Una vez detenida la red hospedada, esta clave de seguridad secundaria nunca se usará de nuevo y se quitará del sistema.

Cualquier usuario puede llamar a esta función para configurar la clave de seguridad secundaria que se usará en la red hospedada. Sin embargo, la capacidad de habilitar la red hospedada inalámbrica puede estar restringida por la directiva de grupo en un dominio.

En Windows 7 y versiones posteriores, el sistema operativo instala un dispositivo virtual si un adaptador inalámbrico compatible con red hospedada está presente en la máquina. Este dispositivo virtual normalmente aparece en la "Carpeta de conexiones de red" como "Conexión de red inalámbrica 2" con un nombre de dispositivo de "Adaptador de miniporte de Microsoft Virtual WiFi" si el equipo tiene un único adaptador de red inalámbrica. Este dispositivo virtual se usa exclusivamente para realizar conexiones de punto de acceso de software (SoftAP) y no está presente en la lista devuelta por la función WlanEnumInterfaces . La duración de este dispositivo virtual está vinculada al adaptador inalámbrico físico. Si el adaptador inalámbrico físico está deshabilitado, este dispositivo virtual también se quitará. Esta característica también está disponible en Windows Server 2008 R2 con el servicio LAN inalámbrico instalado.

Requisitos

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

Consulte también

Acerca de la red hospedada inalámbrica

Uso de la red hospedada inalámbrica y el uso compartido de conexiones a Internet

WLAN_HOSTED_NETWORK_REASON

WlanCloseHandle

WlanEnumInterfaces

WlanHostedNetworkInitSettings

WlanHostedNetworkQueryProperty

WlanHostedNetworkQuerySecondaryKey

WlanHostedNetworkRefreshSecuritySettings

WlanHostedNetworkSetProperty

WlanOpenHandle