Windows.Devices.WiFiDirect 名前空間

関連付けられた Wi-Fi Direct デバイスへの接続と、PC、タブレット、電話の関連エンドポイントへの接続をサポートするクラスが含まれています。

クラス

WiFiDirectAdvertisement

Wi-Fiダイレクトアドバタイズメントを表し、アプリがアドバタイズのリッスン状態とカスタム情報要素を制御できるようにします。

WiFiDirectAdvertisementPublisher

ダイレクト アドバタイズWi-Fi発行するオブジェクト。

WiFiDirectAdvertisementPublisherStatusChangedEventArgs

WiFiDirectAdvertisementPublisherStatusChanged イベントのデータを提供します。

WiFiDirectConnectionListener

着信Wi-Fi直接接続要求をリッスンするために使用されるクラス。

WiFiDirectConnectionParameters

Wi-Fi直接接続/ペアリング操作の接続パラメーターを指定するためにアプリによって使用されます。

このクラスを使用するサンプル アプリケーションには、Wi-Fi Direct サンプルが含まれます。

WiFiDirectConnectionRequest

WiFiDirectConnectionListener によって受信されたWi-Fi直接接続要求。

WiFiDirectConnectionRequestedEventArgs

WiFiDirectConnectionListenerConnectionRequested イベントのデータを提供します。

WiFiDirectDevice

関連付けられているWi-Fi Direct デバイスへの接続を管理します。

WiFiDirectInformationElement

Wi-Fi Direct パケット内の情報要素を表します。

WiFiDirectLegacySettings

"レガシ" モード (アドバタイズされるアクセス ポイントへのWi-Fi Direct以外の接続) を制御する設定。

列挙型

WiFiDirectAdvertisementListenStateDiscoverability

Wi-Fi Direct デバイスがリッスンして検出できるかどうかを指定します。

WiFiDirectAdvertisementPublisherStatus

WiFiDirectAdvertisementPublisher の考えられる状態を表します。

WiFiDirectConfigurationMethod

Wi-Fi Direct 構成方法を指定します。 構成とは、ユーザーがダイレクト機器の一部Wi-Fi別のWi-Fiダイレクト機器に接続するように指示する方法です。

WiFiDirectConnectionStatus

WiFiDirectDevice オブジェクトの接続状態について説明します。

WiFiDirectDeviceSelectorType

Wi-Fi Direct のデバイス セレクターの種類を指定します。

WiFiDirectError

一般的な Wi-Fi Direct エラー ケースを指定します。

WiFiDirectPairingProcedure

直接ペアリング プロシージャを指定します。

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

注釈

WiFiDirectDevice クラスを使用すると、Wi-Fi Direct (WFD) 対応デバイスを持つ他のデバイスとのソケット接続を確立できます。 GetDeviceSelector メソッドを呼び出して、Wi-Fi Direct デバイスのデバイス識別子を取得できます。 コンピューターで WiFiDirectDevice への参照を取得したら、 GetConnectionEndpointPairs メソッドを呼び出して EndpointPair オブジェクトを取得し、 Windows.Networking.Sockets 名前空間のクラスを使用してソケット接続を確立できます。

接続が確立または切断されたときに通知される ConnectionStatusChanged イベントのハンドラーを追加できます。

Wi-Fi Direct デバイスに一度に接続できるアプリは 1 つだけです。

近接通信機能を有効にして、Wi-Fi Direct デバイスと通信する必要があります。

こちらもご覧ください