Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

Windows.Devices.WiFiDirect Namespace

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Contains classes that support connecting to associated Wi-Fi Direct devices and associated endpoints for PCs, tablets, and phones.

Classes

Name Description
WiFiDirectAdvertisement

Represents a Wi-Fi Direct advertisement and allows the app to control the listen state and custom information elements in the advertisement.

WiFiDirectAdvertisementPublisher

An object to publish Wi-Fi Direct advertisements.

WiFiDirectAdvertisementPublisherStatusChangedEventArgs

Provides data for a StatusChanged event on a WiFiDirectAdvertisementPublisher.

WiFiDirectConnectionListener

Class used to listen for incoming Wi-Fi Direct connection requests.

WiFiDirectConnectionParameters

Used by an app to specify the connection parameters for a Wi-Fi Direct connect/pairing operation.

Sample applications that use this class include the Wi-Fi Direct sample.

WiFiDirectConnectionRequest

A Wi-Fi Direct connection request received by a WiFiDirectConnectionListener.

WiFiDirectConnectionRequestedEventArgs

Provides data for a ConnectionRequested event on a WiFiDirectConnectionListener.

WiFiDirectDevice

Manages connections to associated Wi-Fi Direct devices.

WiFiDirectInformationElement

Represents information elements in a Wi-Fi Direct packet.

WiFiDirectLegacySettings

Settings governing "legacy" mode (non-Wi-Fi Direct connections to the access point being advertised.)

Enums

Name Description
WiFiDirectAdvertisementListenStateDiscoverability

Specifies whether the Wi-Fi Direct device is listening and discoverable.

WiFiDirectAdvertisementPublisherStatus

Represents the possible states of the WiFiDirectAdvertisementPublisher.

WiFiDirectConfigurationMethod

Specifies a Wi-Fi Direct configuration method. Configuration is how a user tells one piece of Wi-Fi Direct equipment to connect to another piece of Wi-Fi Direct equipment.

WiFiDirectConnectionStatus

Describes the connection status of a WiFiDirectDevice object.

WiFiDirectDeviceSelectorType

Specifies the device selector type for Wi-Fi Direct.

WiFiDirectError

Specifies some common Wi-Fi Direct error cases.

WiFiDirectPairingProcedure

Specifies a direct pairing procedure.

Examples

Windows.Devices.WiFiDirect.WiFiDirectDevice wfdDevice;

private async System.Threading.Tasks.Task<String> Connect(string deviceId)
{
 string result = ""; 

 try
 {
 // No device ID specified.
 if (String.IsNullOrEmpty(deviceId)) { return "Please specify a Wi-Fi Direct device ID."; }

 // Connect to the selected Wi-Fi Direct device.
 wfdDevice = await Windows.Devices.WiFiDirect.WiFiDirectDevice.FromIdAsync(deviceId);

 if (wfdDevice == null)
 {
 result = "Connection to " + deviceId + " failed.";
 }

 // Register for connection status change notification.
 wfdDevice.ConnectionStatusChanged += new TypedEventHandler<Windows.Devices.WiFiDirect.WiFiDirectDevice, object>(OnConnectionChanged);

 // Get the EndpointPair information.
 var EndpointPairCollection = wfdDevice.GetConnectionEndpointPairs();

 if (EndpointPairCollection.Count > 0)
 {
 var endpointPair = EndpointPairCollection[0];
 result = "Local IP address " + endpointPair.LocalHostName.ToString() + 
 " connected to remote IP address " + endpointPair.RemoteHostName.ToString();
 }
 else
 {
 result = "Connection to " + deviceId + " failed.";
 }
 }
 catch (Exception err)
 {
 // Handle error.
 result = "Error occurred: " + err.Message;
 }

 return result;
}

private void OnConnectionChanged(object sender, object arg)
{
 Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus status = 
 (Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus)arg;

 if (status == Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus.Connected)
 {
 // Connection successful.
 }
 else
 {
 // Disconnected.
 Disconnect();
 }
}

private void Disconnect()
{
 if (wfdDevice != null) 
 {
 wfdDevice.Dispose(); 
 }
}

Remarks

You can use the WiFiDirectDevice class to establish a socket connection with other devices that have a Wi-Fi Direct (WFD) capable device. You can call the GetDeviceSelector method to get the device identifier for a Wi-Fi Direct device. Once you have a reference to a WiFiDirectDevice on your computer, you can call the GetConnectionEndpointPairs method to get an EndpointPair object and establish a socket connection using classes in the Windows.Networking.Sockets namespace.

You can add a handler for the ConnectionStatusChanged event to be notified when the connection has been established or disconnected.

Only one app can be connected to a Wi-Fi Direct device at a time.

You must enable the Proximity capability to communicate with Wi-Fi Direct devices.

See also


Feedback

Was this page helpful?