Fungsi NdisIfRegisterInterface (ndis.h)
Fungsi NdisIfRegisterInterface mendaftarkan antarmuka jaringan NDIS.
Sintaks
NDIS_STATUS NdisIfRegisterInterface(
[in] NDIS_HANDLE NdisProviderHandle,
[in] NET_LUID NetLuid,
[in] NDIS_HANDLE ProviderIfContext,
[in] PNET_IF_INFORMATION pIfInfo,
PNET_IFINDEX pfIndex
);
Parameter
[in] NdisProviderHandle
Handel yang mengidentifikasi penyedia antarmuka jaringan yang mendaftarkan antarmuka. Pemanggil memperoleh handel ini dari panggilan sebelumnya ke Fungsi NdisIfRegisterProvider .
[in] NetLuid
Nilai NET_LUID yang disediakan penelepon yang terkait dengan antarmuka. Penyedia antarmuka menggunakan makro NDIS_MAKE_NET_LUID untuk membuat nilai NET_LUID ini. Penyedia antarmuka harus memulihkan nilai NET_LUID dari penyimpanan persisten setelah komputer dimulai ulang dan memberikan nilai NET_LUID yang sama setiap kali mendaftarkan antarmuka tertentu.
[in] ProviderIfContext
Handel ke area konteks yang dialokasikan pemanggil yang terkait dengan antarmuka. NDIS meneruskan handel ini ke fungsi panggilan balik yang didaftarkan pemanggil dengan NdisIfRegisterProvider.
[in] pIfInfo
Penunjuk ke struktur NET_IF_INFORMATION yang dialokasikan penelepon yang menyediakan informasi tentang antarmuka. Struktur ini berisi informasi yang tetap konstan selama antarmuka ada.
pfIndex
Penunjuk ke variabel indeks antarmuka yang disediakan pemanggil. Jika NDIS berhasil mendaftarkan antarmuka, NDIS mengalokasikan indeks antarmuka untuk antarmuka tersebut dan menetapkan nilai di pIfIndex . Indeks antarmuka adalah nilai 24-bit yang unik di komputer lokal. NDIS mungkin tidak mengembalikan indeks antarmuka yang sama setiap kali penyedia mendaftarkan antarmuka dengan nilai NET_LUID yang sama. Nilai indeks antarmuka nol dicadangkan, dan NDIS tidak menetapkannya ke antarmuka apa pun. Jangan membingungkan indeks antarmuka dengan indeks NET_LUID.
Nilai kembali
NdisIfRegisterInterface mengembalikan salah satu nilai status berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Operasi berhasil diselesaikan. |
|
Operasi gagal karena sumber daya yang tidak mencukup. |
|
NdisIfRegisterInterface gagal karena beberapa parameter input tidak valid. |
|
NdisIfRegisterInterface gagal karena sudah ada antarmuka yang terdaftar dengan nilai NET_LUID yang sama dengan parameter NetLuid yang ditentukan. |
Keterangan
Penyedia antarmuka NDIS memanggil fungsi NdisIfRegisterInterface untuk mendaftarkan antarmuka jaringan. Panggilan ke fungsi ini tidak menyiratkan bahwa antarmuka aktif.
Setiap kali komputer dimulai ulang, NDIS dimulai dengan daftar kosong antarmuka jaringan terdaftar. Penyedia antarmuka memanggil fungsi NdisIfRegisterInterface setiap kali antarmuka dimulai (atau terdeteksi) dan antarmuka
NET_LUID diketahui.
Metode untuk mendeteksi atau memulai antarmuka tergantung pada aplikasi. Misalnya, jika driver perantara LBFO MUX adalah penyedia antarmuka, driver tersebut mungkin mendaftarkan antarmuka internal ketika NDIS memanggil fungsi ProtocolBindAdapterEx driver untuk adaptor miniport pertama yang mendasar.
Penyedia antarmuka dapat menempatkan informasi tentang antarmuka di penyimpanan persisten dan memulihkan antarmuka sesuai kebutuhan untuk aplikasi tertentu. Misalnya, penyedia dapat menyimpan informasi tambahan tentang antarmuka dengan NET_LUID dan dapat mendaftarkan ulang antarmuka setelah komputer dimulai ulang.
Jika NdisIfRegisterInterface berhasil, NDIS menambahkan antarmuka ke daftar antarmuka yang diketahui dan mengalokasikan indeks antarmuka baru untuk antarmuka ini. Penyedia antarmuka harus mendaftarkan antarmuka yang diaktifkan dan dinonaktifkan, sedapat mungkin. Semua antarmuka yang diaktifkan harus didaftarkan.
NDIS mungkin tidak mengembalikan indeks antarmuka yang sama setiap kali penyedia mendaftarkan antarmuka dengan nilai NET_LUID yang sama. Misalnya, NDIS tidak selalu menetapkan indeks antarmuka yang sama ketika antarmuka terdaftar kembali setelah komputer dimulai ulang atau ketika antarmuka dibatalkan pendaftarannya dan didaftarkan kembali. Nilai indeks antarmuka nol dicadangkan, dan NDIS tidak menetapkannya ke antarmuka apa pun.
Untuk menunjukkan bahwa antarmuka harus dihapus dari daftar antarmuka yang diketahui di komputer, penyedia antarmuka memanggil Fungsi NdisIfDeregisterInterface , misalnya, karena antarmuka telah dihapus instalasinya. .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung di NDIS 6.0 dan yang lebih baru. |
Target Platform | Desktop |
Header | ndis.h (termasuk Ndis.h) |
Pustaka | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | Irql_Interfaces_Function(ndis) |