Bagikan melalui


Windows.Devices.WiFiDirect.Services Ruang nama

Menyediakan dukungan untuk menerapkan Layanan Langsung Wi-Fi Anda sendiri.

Wi-Fi Direct adalah teknologi yang memungkinkan dua perangkat terhubung langsung satu sama lain menggunakan Wi-Fi, tanpa perlu bergabung dengan jaringan yang ada melalui titik akses. Wi-Fi Layanan Langsung adalah cara satu perangkat ( Pengiklan Layanan) menawarkan kemampuan ke perangkat lain ( Pencari Layanan) melalui koneksi Wi-Fi Direct. Pencari menggunakan layanan yang diiklankan dengan membuat sesi. Perangkat tertentu dapat mengiklankan beberapa layanan dan juga mencari beberapa layanan. Peran Seeker dan Advertiser didefinisikan sehubungan dengan bagaimana perangkat berinteraksi dalam sesi tertentu.

Meskipun spesifikasi Wi-Fi Direct Services menentukan beberapa layanan standar, API ini hanya mendukung layanan Aktifkan . Ini tidak mendukung fungsionalitas Kirim, Putar, Cetak, atau Tampilkan .

Kelas

WiFiDirectService

Mewakili layanan Wi-Fi Direct. Kelas ini digunakan oleh kode pada perangkat yang berusaha menggunakan Wi-Fi Direct Service, untuk membuat sesi Wi-Fi Direct Service dengan penyedia layanan.

WiFiDirectServiceAdvertiser

Mewakili Pengiklan Layanan. Kelas ini digunakan oleh kode pada perangkat yang mengiklankan Wi-Fi Direct Services, untuk mengiklankan layanan.

WiFiDirectServiceAutoAcceptSessionConnectedEventArgs

Dikembalikan ketika peristiwa WiFiDirectServiceAdvertiser.AutoAcceptSessionConnected dinaikkan .

WiFiDirectServiceProvisioningInfo

Berisi informasi provisi tentang Wi-Fi Direct Service.

WiFiDirectServiceRemotePortAddedEventArgs

Dikembalikan ketika peristiwa WiFiDirectServiceSession.RemotePortAdded dinaikkan . Penanganan aktivitas Anda harus menggunakan informasi ini untuk membuat koneksi soket baru ke port baru.

WiFiDirectServiceSession

Mewakili sesi Wi-Fi Direct Services (WFDS).

WiFiDirectServiceSessionDeferredEventArgs

Dikembalikan saat peristiwa WiFiDirectService.SessionDeferred dinaikkan.

WiFiDirectServiceSessionRequest

Menjelaskan permintaan sesi Wi-Fi Direct Service.

WiFiDirectServiceSessionRequestedEventArgs

Dikembalikan saat peristiwa WiFiDirectServiceAdvertiser.SessionRequested dinaikkan .

Enum

WiFiDirectServiceAdvertisementStatus

Nilai yang digunakan untuk WiFiDirectServiceAdvertiser.AdvertisementStatus.

WiFiDirectServiceConfigurationMethod

Nilai yang menjelaskan bagaimana konfigurasi layanan dilakukan saat sesi sedang dibuat. Biasanya, tidak ada input yang diperlukan, atau satu perangkat dalam sesi menampilkan PIN dan perangkat lain mengharuskan PIN dimasukkan.

WiFiDirectServiceError

Nilai yang digunakan untuk properti WiFiDirectServiceAdvertiser.ServiceError .

WiFiDirectServiceIPProtocol

Menentukan konstanta yang menentukan protokol IP port baru saat peristiwa WiFiDirectServiceSession.RemotePortAdded dinaikkan .

WiFiDirectServiceSessionErrorStatus

Nilai yang digunakan dalam properti WiFiDirectServiceSession.ErrorStatus .

WiFiDirectServiceSessionStatus

Nilai yang digunakan untuk menjelaskan status Sesi Layanan Langsung Wi-Fi.

WiFiDirectServiceStatus

Nilai yang digunakan untuk menjelaskan status layanan.

Keterangan

Mengatur Pemilik Grup (GO)

Anda mungkin ingin dapat memberikan kontrol yang tepat atas anggota grup Peer to Peer (P2P) mana yang merupakan Pemilik Grup (GO). Kode Anda harus menggunakan properti WiFiDirectAdvertiser.PreferGroupOwnerMode untuk menentukan bahwa pengiklan tertentu ingin menjadi GO. Namun, jika dua perangkat sebelumnya telah dipasangkan melalui Wi-Fi Direct, maka peran langsung Wi-Fi di profil yang disimpan dari pasangan tersebut mengambil alih preferensi yang ditentukan pengiklan. Untuk menjamin bahwa perangkat tertentu dalam pasangan P2P akan menjadi GO, Anda harus terlebih dahulu menghapus data pemasangan yang ada, menggunakan metode yang disediakan oleh namespace Windows.Devices.Enumeration .

Perhatikan bahwa profil pemasangan memasangkan dua alamat MAC, jadi membatalkan pemasangan dua perangkat berlaku untuk semua aplikasi yang menggunakan Wi-Fi Direct di antara kedua perangkat tersebut. Aplikasi Anda tidak boleh berasumsi bahwa profil pemasangan ada, atau belum diubah oleh aplikasi lain, meskipun telah dipasangkan dengan perangkat di masa lalu. Anda harus mendapatkan informasi profil saat ini dari profil saat ini daripada menyimpan informasi profil dan dengan asumsi itu masih benar di kemudian hari. Aplikasi lain mungkin telah mengubah profil pemasangan secara sementara.

Kode berikut menemukan profil pemasangan Wi-Fi Direct antara perangkat lokal dan perangkat lain, dan membatalkan pemasangan kedua perangkat. Setelah kode ini berhasil membatalkan pemasangan kedua perangkat, pemasangan berikutnya akan mematuhi nilai WiFiDirectAdvertiser.PreferGroupOwnerMode aktif pada saat pemasangan.

using Windows.Devices.Enumeration;

private async void Unpair_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
    if (DiscoveredServices.Items.Count > 0)
    {
        DiscoveredDeviceWrapper service = 
            (DiscoveredDeviceWrapper)DiscoveredServices.Items[DiscoveredServices.SelectedIndex];

        String[] aepId = service.DeviceInfo.Id.Split('#');
        String deviceSelector = "System.Devices.DeviceInstanceId:=\"SWD\\WiFiDirect\\" + aepId[1] + "\"";

        // Check if device is paired
        DeviceInformationCollection pairedDeviceCollection = 
            await DeviceInformation.FindAllAsync(deviceSelector, null, DeviceInformationKind.DeviceInterface);

        if (pairedDeviceCollection.Count > 0)
        {
            try
            {
                DeviceInformation devInfo = pairedDeviceCollection[0];
                await devInfo.Pairing.UnpairAsync();
                MainPage.Current.NotifyUser("UnpairAsync succeeded", NotifyType.StatusMessage);
            }

            catch (Exception ex)
            {
                MainPage.Current.NotifyUser("UnpairAsync failed: " + ex.Message, NotifyType.ErrorMessage);
            }
        }
    }
}

Lihat juga