Partager via


Fonction WFDStartOpenSession (wlanapi.h)

La fonction WFDStartOpenSession démarre une connexion à la demande à un appareil direct Wi-Fi spécifique, qui a été précédemment jumelé via l’expérience de jumelage Windows.

Syntaxe

DWORD WFDStartOpenSession(
  [in]           HANDLE                             hClientHandle,
  [in]           PDOT11_MAC_ADDRESS                 pDeviceAddress,
  [in, optional] PVOID                              pvContext,
  [in]           WFD_OPEN_SESSION_COMPLETE_CALLBACK pfnCallback,
  [out]          PHANDLE                            phSessionHandle
);

Paramètres

[in] hClientHandle

Un handle client pour le service direct Wi-Fi. Ce handle a été obtenu par un appel précédent à la fonction WFDOpenHandle .

[in] pDeviceAddress

Pointeur vers l’adresse directe de l’appareil cible Wi-Fi. Il s’agit de l’adresse MAC de l’appareil cible Wi-Fi.

[in, optional] pvContext

Pointeur de contexte facultatif qui est passé à la fonction de rappel spécifiée dans le paramètre pfnCallback .

[in] pfnCallback

Pointeur vers la fonction de rappel à appeler une fois la demande WFDStartOpenSession terminée.

[out] phSessionHandle

Handle de cette session directe Wi-Fi spécifique.

Valeur retournée

Si la fonction réussit, la valeur de retour est ERROR_SUCCESS.

Si la fonction échoue, la valeur de retour peut être l’un des codes de retour suivants.

Code de retour Description
ERROR_INVALID_HANDLE
Le handle n'est pas valide.

Cette erreur est retournée si le handle spécifié dans le paramètre hClientHandle n’a pas été trouvé dans la table handle.

ERROR_INVALID_PARAMETER
Le paramètre est incorrect.

Cette erreur est retournée si le paramètre hClientHandle a la valeur NULL ou n’est pas valide. Cette erreur est également retournée si le paramètre pDeviceAddress a la valeur NULL, si le paramètre pfnCallback a la valeur NULL ou si le paramètre phSessionHandle a la valeur NULL. Cette valeur est également retournée si le paramètre dwClientVersion n’est pas égal à WFD_API_VERSION.

ERROR_INVALID_STATE
Le groupe ou la ressource n’est pas dans l’état correct pour effectuer l’opération nécessaire.

Cette erreur est retournée si le service direct Wi-Fi est désactivé par la stratégie de groupe sur un domaine.

ERROR_SERVICE_NOT_ACTIVE
Le service n'a pas été démarré.

Cette erreur est retournée si le service de configuration automatique WLAN n’est pas en cours d’exécution.

RPC_STATUS
Différents codes d’erreur.

Remarques

La fonction WFDStartOpenSession fait partie de Wi-Fi Direct, une nouvelle fonctionnalité dans Windows 8 et Windows Server 2012. Wi-Fi Direct est basé sur le développement de la Wi-Fi spécification technique pair-à-pair v1.1 par l’alliance Wi-Fi (voir Spécifications publiées de l’Alliance Wi-Fi). L’objectif de la spécification technique d’égal à égal Wi-Fi est de fournir une solution pour Wi-Fi connectivité appareil à appareil sans avoir besoin d’un point d’accès sans fil pour configurer la connexion ou l’utilisation du mécanisme ibss (IBSS) Wi-Fi existant.

La fonction WFDStartOpenSession démarre une opération asynchrone pour démarrer une connexion à la demande à un appareil direct Wi-Fi spécifique. L’appareil cible Wi-Fi doit avoir déjà été jumelé via l’expérience de jumelage Windows. Une fois l’opération asynchrone terminée, la fonction de rappel spécifiée dans le paramètre pfnCallback est appelée.

Si l’application tente de fermer le handle au service direct Wi-Fi en appelant la fonction WFDCloseHandle avant que la fonction WFDStartOpenSession se termine de manière asynchrone, la fonction WFDCloseHandle attend la fin de l’appel WFDStartOpenSession .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wlanapi.h
Bibliothèque Wlanapi.lib
DLL Wlanapi.dll

Voir aussi

WFDCancelOpenSession

WFDCloseHandle

WFDCloseSession

WFDOpenHandle

WFDOpenLegacySession

WFDUpdateDeviceVisibility

WFD_OPEN_SESSION_COMPLETE_CALLBACK