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 |
---|---|
|
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. |
|
Un parámetro es incorrecto. Este error se devuelve si se produce alguna de las condiciones siguientes:
|
|
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. |
|
El servicio no se ha iniciado. Este error se devuelve si el servicio WLAN AutoConfig no se está ejecutando. |
|
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
WlanHostedNetworkQueryProperty
WlanHostedNetworkQuerySecondaryKey