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
NDIS_STATUS_SUCCESS
Operasi berhasil diselesaikan.
NDIS_STATUS_RESOURCES
Operasi gagal karena sumber daya yang tidak mencukup.
NDIS_STATUS_INVALID_PARAMETER
NdisIfRegisterInterface gagal karena beberapa parameter input tidak valid.
NDIS_STATUS_DUPLICATE_OBJECTID
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)

Lihat juga

NDIS_MAKE_NET_LUID

NET_IF_INFORMATION

NET_LUID

NdisIfDeregisterInterface

NdisIfRegisterProvider

ProtocolBindAdapterEx