Share via


WiFiDirectDevice Klasse

Definition

Verwaltet Verbindungen mit zugeordneten Wi-Fi Direct-Geräten.

public ref class WiFiDirectDevice sealed : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class WiFiDirectDevice final : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class WiFiDirectDevice : System.IDisposable
Public NotInheritable Class WiFiDirectDevice
Implements IDisposable
Vererbung
Object Platform::Object IInspectable WiFiDirectDevice
Attribute
Implementiert

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Beispiele

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(); 
    }
}

Hinweise

Sie können die WiFiDirectDevice-Klasse verwenden, um eine Socketverbindung mit anderen Geräten herzustellen, die über ein Wi-Fi Direct(WFD)-fähiges Gerät verfügen. Sie können die GetDeviceSelector-Methode aufrufen, um den Gerätebezeichner für ein Wi-Fi Direct-Gerät abzurufen. Sobald Sie einen Verweis auf ein WiFiDirectDevice auf Ihrem Computer haben, können Sie die GetConnectionEndpointPairs-Methode aufrufen, um ein EndpointPair-Objekt abzurufen und mithilfe der Windows.Networking.Sockets-API eine Socketverbindung herzustellen.

Sie können einen Handler für das ConnectionStatusChanged-Ereignis hinzufügen, der benachrichtigt wird, wenn die Verbindung hergestellt oder getrennt wurde.

Nur eine App kann gleichzeitig mit einem Wi-Fi Direct-Gerät verbunden werden.

Sie müssen die Näherungsfunktion aktivieren, um mit Wi-Fi Direct-Geräten zu kommunizieren.

Eigenschaften

ConnectionStatus

Ruft die status Verbindung für das WiFi-Direct-Gerät ab.

DeviceId

Ruft die DeviceInformation-ID für das Wi-Fi Direct-Gerät ab.

Methoden

Close()

Schließen Sie die aktive Wi-Fi Direkte Geräteverbindung.

Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

FromIdAsync(String)

Erstellt eine instance der WiFiDirectDevice-Klasse für die angegebene Geräteschnittstellen-ID.

FromIdAsync(String, WiFiDirectConnectionParameters)

Erstellt eine instance der WiFiDirectDevice-Klasse für die angegebene Geräteschnittstellen-ID mit bestimmten Verbindungsparametern.

GetConnectionEndpointPairs()

Ruft eine Auflistung von Netzwerkadressen für das Wi-Fi Direct-Gerät als Endpunktpaare ab.

GetDeviceSelector()

Gibt die Klassenauswahlzeichenfolge zurück, die Sie verwenden können, um Wi-Fi Direct-Geräte aufzulisten.

GetDeviceSelector(WiFiDirectDeviceSelectorType)

Gibt die Klassenauswahlzeichenfolge zurück, die Sie verwenden können, um Wi-Fi Direct-Geräte für einen bestimmten Wi-Fi Geräteauswahltyp Direct aufzulisten.

Ereignisse

ConnectionStatusChanged

Tritt auf, wenn eine Wi-Fi Direkte Geräteverbindung verbunden oder getrennt ist.

Gilt für:

Weitere Informationen