Fungsi NdisReadNetworkAddress (ndis.h)

Fungsi NdisReadNetworkAddress mengembalikan alamat jaringan yang dapat dikonfigurasi perangkat lunak yang disimpan di registri untuk NIC saat diinstal di komputer.

Sintaks

void NdisReadNetworkAddress(
  [out] PNDIS_STATUS Status,
  [out] PVOID        *NetworkAddress,
  [out] PUINT        NetworkAddressLength,
  [in]  NDIS_HANDLE  ConfigurationHandle
);

Parameter

[out] Status

Penunjuk ke variabel yang disediakan penelepon di mana fungsi ini mengembalikan status panggilan sebagai salah satu dari berikut ini:

NDIS_STATUS_SUCCESS

Pemanggil dapat menggunakan alamat yang dikembalikan di NetworkAddress untuk NIC.

NDIS_STATUS_FAILURE

Tidak ada informasi alamat NIC yang tersedia di kunci Parameter registri pemanggil atau nilai yang disimpan bukan string.

[out] NetworkAddress

Penunjuk ke variabel yang disediakan penelepon di mana fungsi ini mengembalikan penunjuk ke buffer yang berisi alamat jaringan (biasanya alamat MAC), disimpan sebagai urutan bilangan bulat byte, jika panggilan berhasil.

[out] NetworkAddressLength

Penunjuk ke variabel yang disediakan penelepon di mana fungsi ini mengembalikan jumlah byte yang dikembalikan di NetworkAddress.

[in] ConfigurationHandle

Handel konfigurasi yang dikembalikan oleh Fungsi NdisOpenConfigurationEx .

Nilai kembali

Tidak ada

Keterangan

NdisReadNetworkAddress mencari kunci Parameter registri yang ditunjuk oleh ConfigurationHandle yang diberikan untuk kata kunci NetworkAddress, mengonversi nilai entri jenis string ini menjadi urutan bilangan bulat byte, dan menyimpan informasi yang diminta secara internal. Penyimpanan yang dialokasikan NDIS untuk alamat tersebut tetap valid sampai driver miniport memanggil fungsi NdisCloseConfiguration , yang membebaskan memori.

Pemanggil tidak dapat menggunakan variabel di NetworkAddress sebagai penunjuk kecuali NdisReadNetworkAddress mengembalikan NDIS_STATUS_SUCCESS pada Status.

Program penginstalan untuk NIC yang mendukung alamat jaringan yang dapat dikonfigurasi perangkat lunak harus menyimpan entri nilai bernama dengan kata kunci NetworkAddress di HKLM\System\CurrentControlSet\Control\Class{4d36e972...} \00xx kunci registri.

Alat penginstal NIC biasanya menyimpan nilai entri NetworkAddress dalam registri sebagai serangkaian digit heksadesimal. Secara opsional, alat penginstal dapat menyimpan alamat seperti string digit yang dipasangkan, dengan setiap pasangan dipisahkan dari berikutnya oleh tanda hubung. NdisReadNetworkAddress membuang tanda hubung dan mengonversi setiap pasangan tersebut menjadi satu byte.

Dalam kedua bentuk, NdisReadNetworkAddress mengonversi alamat yang ditentukan sebagai string, satu karakter sekaligus, menjadi bilangan bulat yang setara hingga string habis.

Dalam registri Windows 2000 dan versi yang lebih baru, string alamat yang diinstal tersebut berisi karakter Unicode.

Perhatikan bahwa NDIS tidak memvalidasi nilai di NetworkAddress. NDIS tidak menjamin bahwa nilai ini adalah alamat yang valid, bahwa nilai memiliki panjang yang tepat, atau bahkan bahwa nilainya adalah alamat jaringan. Oleh karena itu, pemanggil NdisReadNetworkAddress tidak boleh membuat asumsi tentang nilai ini dan harus memvalidasi nilai itu sendiri. Jika penelepon menentukan bahwa nilai berada di luar batas, nilai tersebut tidak boleh menggunakan nilai ; sebagai gantinya, ia harus menggunakan alamat kontrol akses menengah (MAC) permanen atau alamat default.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung untuk driver NDIS 6.0 dan yang lebih baru di Windows Vista dan yang lebih baru. Didukung untuk driver NDIS 5.1 (lihat NdisReadNetworkAddress (NDIS 5.1)) di Windows XP dan yang lebih baru.
Target Platform Universal
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI Irql_Miscellaneous_Function(ndis)

Lihat juga

NdisCloseConfiguration

NdisOpenConfigurationEx