Bagikan melalui


Fungsi WlanSetPsdIEDataList (wlanapi.h)

Fungsi WlanSetPsdIeDataList mengatur daftar data elemen informasi (IE) penemuan layanan kedekatan (PSD).

Sintaks

DWORD WlanSetPsdIEDataList(
  [in] HANDLE                    hClientHandle,
  [in] LPCWSTR                   strFormat,
  [in] const PWLAN_RAW_DATA_LIST pPsdIEDataList,
       PVOID                     pReserved
);

Parameter

[in] hClientHandle

Handel sesi klien, diperoleh dengan panggilan sebelumnya ke fungsi WlanOpenHandle .

[in] strFormat

Format PSD IE dalam daftar data IE PSD yang diteruskan dalam parameter pPsdIEDataList . Ini adalah string URI yang dihentikan NULL yang menentukan namespace protokol yang digunakan untuk penemuan.

[in] pPsdIEDataList

Penunjuk ke struktur WLAN_RAW_DATA_LIST yang berisi daftar data IE PSD yang akan diatur.

pReserved

Disiapkan untuk penggunaan masa mendatang. Harus diatur ke NULL.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan ERROR_SUCCESS.

Jika fungsi gagal, nilai yang dikembalikan mungkin salah satu kode pengembalian berikut.

Menampilkan kode Deskripsi
ERROR_INVALID_PARAMETER
Parameter salah. Kesalahan ini dikembalikan jika hClientHandleNULL atau tidak valid atau pReserved bukan NULL.
ERROR_INVALID_HANDLE
Handel hClientHandle tidak ditemukan dalam tabel handel.
ERROR_NOT_SUPPORTED
Fungsi ini dipanggil dari platform yang tidak didukung. Nilai ini dikembalikan jika fungsi dipanggil dari Windows XP dengan SP3 atau WIRELESS LAN API untuk Windows XP dengan klien SP2.
RPC_STATUS
Berbagai kode kesalahan.

Keterangan

Protokol Penemuan Layanan Kedekatan adalah protokol kepemilikan Microsoft yang memungkinkan klien menemukan layanan dalam kedekatan fisiknya, yang didefinisikan oleh rentang radio. Tujuan dari Protokol Penemuan Layanan Kedekatan adalah untuk menyampaikan informasi penemuan layanan, seperti iklan layanan, sebagai bagian dari bingkai Beacon. Titik akses (APs) dan stasiun (STAs) yang beroperasi dalam mode ad hoc secara berkala menyiarkan bingkai suar. Bingkai suar dapat berisi satu atau beberapa elemen informasi kepemilikan yang membawa informasi penemuan yang berkaitan dengan layanan yang ditawarkan perangkat.

PSD IE digunakan untuk mengirimkan informasi terkompresi yang disediakan oleh protokol penemuan tingkat yang lebih tinggi untuk tujuan penemuan pasif. Salah satu protokol tingkat yang lebih tinggi yang digunakan untuk penemuan adalah protokol WS-Discovery. Protokol apa pun dapat digunakan untuk penemuan.

Windows Vista dan Windows Server 2008 dengan Layanan LAN Nirkabel diinstal mendukung penemuan pasif untuk klien ad hoc, layanan ad hoc, dan klien infrastruktur. Ini berarti layanan ad hoc dapat mengiklankan sumber daya atau layanan yang tersedia dengan mengirimkan IE PSD dalam satu atau beberapa suar. Tidak ada jaminan bahwa suar ini diterima oleh klien ad hoc atau infrastruktur.

Windows 7 dan Windows Server 2008 R2 dengan Layanan LAN Nirkabel diinstal mendukung penemuan pasif untuk klien ad hoc, layanan ad hoc, dan klien infrastruktur dengan cara yang sama seperti di Windows Vista. Selain itu, PSD IE juga didukung untuk Hosted Network nirkabel, titik akses nirkabel (AP) berbasis perangkat lunak. Aplikasi di komputer lokal tempat Jaringan Yang Dihosting nirkabel akan dijalankan dapat menggunakan fungsi WlanSetPsdIeDataList untuk mengatur PSD IE sebelum memulai Jaringan Yang Dihosting nirkabel. Setelah diatur, PSD IE akan disertakan dalam suar dan respons probe setelah Hosted Network nirkabel dimulai.

Setiap aplikasi yang mengirim atau menerima suar mempertahankan daftar data IE PSD sendiri. Parameter pPsdIEDataList menunjuk ke daftar IEs PSD yang dihasilkan oleh aplikasi. Setiap PSD IE memiliki format berikut.

Bidang Deskripsi dan Nilai
ID Elemen (1 byte) 221
Panjang (1 byte) Panjangnya, dalam byte, bidang Data ditambah 8.
OUI (3 byte) Pengidentifikasi Unik Organisasi (OUI) harus berisi nilai 00-50-F2. OUI publik ini didaftarkan ke Microsoft.
Jenis OUI (1 byte) Untuk Protokol Penemuan Layanan Kedekatan, Jenis OUI harus berisi nilai 6.
Hash pengidentifikasi format(4 byte) Bit 31-0 dari HMAC yang dihitung dari parameter strFormat .
Data (variabel) Berisi data yang ditentukan pengguna untuk penemuan. Panjang bidang ini tidak boleh melebihi 240 byte.
 

ID Elemen 221 menentukan elemen informasi Khusus Vendor yang ditentukan dalam standar IEEE 802.11. Pengidentifikasi Unik Organisasi (OUI) berisi OUI yang ditetapkan IEEE 3 byte dari vendor yang menentukan konten elemen informasi dalam urutan yang sama dengan yang akan ditransmisikan OUI di bidang alamat IEEE 802.11. Bidang ID Element, Length, OUI, dan OUI Type dikontrol oleh layanan konfigurasi otomatis, sementara aplikasi mengontrol bidang lainnya.

Bidang Hash pengidentifikasi format menjelaskan format informasi yang dibawa dalam IE PSD. Untuk memastikan keunikan saat menghindari kebutuhan administrasi pusat pengidentifikasi format, string dalam bentuk Pengidentifikasi Sumber Daya Seragam (URI), seperti yang ditentukan dalam RFC 3986, digunakan untuk membedakan format. Namun, karena transmisi harus efisien dan ruang dalam elemen informasi terbatas, string sebenarnya tidak ditransmisikan, tetapi, sebaliknya, hashnya ditransmisikan. Pada klien, yang merupakan sisi penerima suar, hash dicocokkan dengan serangkaian pengidentifikasi format yang diketahui.

Bidang Hash pengidentifikasi format diwakili oleh bit 0... 31 dari kode autentikasi pesan berbasis hash (HMAC) melalui string pengidentifikasi format yang ditentukan dalam parameter strFormat . HMAC digunakan untuk menentukan format bidang Data dari PSD IE. Rumus yang digunakan untuk menghitung HMAC dijelaskan dalam RFC 2104. Kode sampel untuk perhitungan HMAC seperti yang ditentukan dalam RFC 4634. Saat menghitung HMAC, gunakan SHA-256 untuk fungsi hash. Kunci yang digunakan adalah kunci "null" (penunjuk NULL ke kunci autentikasi, dan kunci autentikasi panjang nol per kode sumber di RFC 4634). Gunakan nilai parameter strFormat (termasuk spasi apa pun tetapi tidak termasuk karakter penghentian NULL) sebagai teks input yang dikodekan sebagai Unicode UTF-16 dalam format little-endian.

Misalnya, jika parameter strFormat adalah http://schemas.xmlsoaps.org/ws/2004/10/discovery, maka empat oktet pertama dari HMAC yang sesuai adalah 0xF8 0xCB 0x35 0x15.

Jika parameter strFormat adalah http://schemas.microsoft.com/networking/discoveryformat/v2, maka empat oktet HMAC yang sesuai adalah 0xCF 0xF1 0x64 0x17.

Saat mengirim 4 oktet pertama HMAC melalui jaringan, kirim oktet pertama (paling kiri) terlebih dahulu.

Perhatikan bahwa mungkin ada tabrakan di HMAC yang terpotong, yang berarti bahwa mungkin tidak mungkin untuk secara unik menentukan protokol penemuan yang sesuai dengan payload IE PSD dari bit HMAC yang diberikan. Aplikasi yang menerima PSD IE harus mengambil tebakan terbaik pada protokol penemuan yang digunakan dari HMAC tertentu, lalu menjalankan kembali protokol penemuan tingkat yang lebih tinggi setelah koneksi dibuat.

Paling banyak, lima IEs PSD dapat diteruskan dalam daftar. Selain itu, panjang total, dalam byte, dari daftar IE PSD dapat dibatasi oleh batasan perangkat keras pada panjang suar.

Aplikasi dapat memanggil WlanSetPsdIeDataList berkali-kali. Ketika WlanSetPsdIeDataList dipanggil dua kali dengan strFormat yang sama, konten WLAN_RAW_DATA_LIST yang diisi oleh panggilan fungsi pertama ditimpa oleh payload WLAN_RAW_DATA_LIST panggilan kedua. Ketika WlanSetPsdIeDataList dipanggil dengan parameter pPsdIEDataList diatur ke NULL, daftar IE PSD yang terkait dengan strFormat dihapus. Ketika parameter WlanSetPsdIeDataList dipanggil dengan parameter pPsdIEDataList dan strFormat diatur ke NULL, semua daftar IE PSD yang ditetapkan oleh aplikasi akan dihapus.

Layanan nirkabel memproses daftar data PSD IE yang ditetapkan oleh aplikasi yang berbeda dan menghasilkan blob data IE mentah. Ketika mesin membuat atau menggabungkan jaringan ad-hoc pada adaptor nirkabel apa pun, komputer mengirim suar yang menyertakan blob data IE PSD yang terkait dengan jaringan ke komputer lain.

Stasiun dapat memanggil fungsi WlanExtractPsdIEDataList untuk mendapatkan daftar data IE PSD setelah menerima suar dari mesin.

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header wlanapi.h (termasuk Wlanapi.h)
Pustaka Wlanapi.lib
DLL Wlanapi.dll

Lihat juga

Tentang Jaringan yang Dihosting Nirkabel

WLAN_RAW_DATA_LIST

WlanExtractPsdIEDataList

WlanScan