Fungsi NdisMRegisterMiniportDriver (ndis.h)
Driver miniport memanggil fungsi NdisMRegisterMiniportDriver untuk mendaftarkan titik masuk MiniportXxx dengan NDIS sebagai langkah pertama dalam inisialisasi.
Sintaks
NDIS_STATUS NdisMRegisterMiniportDriver(
[in] PDRIVER_OBJECT DriverObject,
[in] PUNICODE_STRING RegistryPath,
[in, optional] NDIS_HANDLE MiniportDriverContext,
[in] PNDIS_MINIPORT_DRIVER_CHARACTERISTICS MiniportDriverCharacteristics,
[out] PNDIS_HANDLE NdisMiniportDriverHandle
);
Parameter
[in] DriverObject
Penunjuk ke objek driver buram yang diterima driver miniport dalam rutinitas DriverEntry-nya pada parameter Argument1 (lihat DriverEntry driver NDIS Miniport Drivers).
[in] RegistryPath
Penunjuk ke jalur registri buram yang diterima driver miniport dalam rutinitas DriverEntry-nya pada parameter Argument2 .
[in, optional] MiniportDriverContext
Handel ke area konteks yang dialokasikan driver tempat driver mempertahankan informasi status dan konfigurasi.
[in] MiniportDriverCharacteristics
Penunjuk ke NDIS_MINIPORT_DRIVER_CHARACTERISTICS struktur yang diinisialisasi pemanggil.
[out] NdisMiniportDriverHandle
Penunjuk ke variabel handel yang disediakan penelepon. NDIS menulis handel ke variabel ini yang secara unik mengidentifikasi driver ini. Driver harus menyimpan handel ini untuk digunakan dalam panggilan fungsi NdisXxx berikutnya.
Nilai kembali
NdisMRegisterMiniportDriver mengembalikan salah satu nilai status berikut:
Menampilkan kode | Deskripsi |
---|---|
|
NdisMRegisterMiniportDriver berhasil mendaftarkan driver miniport. |
|
Parameter CharacteristicsLength salah untuk versi NDIS yang ditentukan pada anggota MajorNdisVersion dalam struktur di MiniportDriverCharacteristics . |
|
MajorNdisVersion atau MinorNdisVersion yang ditentukan dalam struktur karakteristik tidak valid. |
|
Kekurangan sumber daya, mungkin memori, mencegah NDIS mendaftarkan pemanggil. |
|
Ini adalah status kesalahan default, dikembalikan ketika tidak ada kesalahan sebelumnya yang menyebabkan pendaftaran gagal. |
Keterangan
Driver NDIS memanggil NdisMRegisterMiniportDriver dari rutinitas DriverEntry-nya . Untuk informasi selengkapnya, lihat DriverEntry driver Miniport NDIS.
Setiap driver miniport mengekspor serangkaian fungsi MiniportXxx standar dengan menyiapkan struktur karakteristik dan memanggil NdisMRegisterMiniportDriver. NDIS menyalin struktur karakteristik ke penyimpanan internal NDIS. Oleh karena itu, setelah terdaftar, driver tidak dapat mengubah titik masuk MiniportXxx-nya .
Untuk mendaftarkan antarmuka miniport virtualnya, driver perantara NDIS harus memanggil NdisMRegisterMiniportDriver dengan bendera NDIS_INTERMEDIATE_DRIVER yang diatur dalam struktur di MiniportDriverCharacteristics . Driver NDIS yang memiliki tepi bawah WDM harus memanggil NdisMRegisterMiniportDriver dengan bendera NDIS_WDM_DRIVER yang diatur dalam struktur di MiniportDriverCharacteristics .
Pengemudi dapat mendaftar sebagai pengemudi miniport gabungan dan pengemudi perantara. Untuk mendaftarkan driver miniport fisiknya, driver miniport-menengah memanggil NdisMRegisterMiniportDriver dengan parameter yang sesuai sama seperti untuk setiap driver miniport. Untuk mendaftarkan antarmuka miniport virtualnya, driver memanggil NdisMRegisterMiniportDriver lagi, tetapi dengan bendera NDIS_INTERMEDIATE_DRIVER diatur dalam parameter MiniportDriverCharacteristics .
Untuk mengaktifkan driver miniport untuk mendaftarkan layanan opsional, NDIS memanggil fungsi MiniportSetOptions dalam konteks NdisMRegisterMiniportDriver.
Setelah driver memanggil NdisMRegisterMiniportDriver, driver harus siap untuk dipanggil kembali di fungsi MiniportInitializeEx yang ditentukan dalam parameter MiniportDriverCharacteristics kapan saja setelah DriverEntry kembali.
Jika kesalahan terjadi di DriverEntry setelah NdisMRegisterMiniportDriver berhasil dikembalikan, driver harus memanggil Fungsi NdisMDeregisterMiniportDriver sebelum DriverEntry kembali. Jika DriverEntry berhasil, driver harus memanggil NdisMDeregisterMiniportDriver dari fungsi MiniportDriverUnload-nya .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung di NDIS 6.0 dan yang lebih baru. |
Target Platform | Universal |
Header | ndis.h (termasuk Ndis.h) |
Pustaka | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | Irql_Miniport_Driver_Function(ndis) |
Lihat juga
Menginisialisasi Driver Miniport
NDIS_MINIPORT_DRIVER_CHARACTERISTICS NdisMDeregisterMiniportDriverSaran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk