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
NDIS_STATUS_SUCCESS

NdisMRegisterMiniportDriver berhasil mendaftarkan driver miniport.

NDIS_STATUS_BAD_CHARACTERISTICS
Parameter CharacteristicsLength salah untuk versi NDIS yang ditentukan pada anggota MajorNdisVersion dalam struktur di MiniportDriverCharacteristics .
NDIS_STATUS_BAD_VERSION
MajorNdisVersion atau MinorNdisVersion yang ditentukan dalam struktur karakteristik tidak valid.
NDIS_STATUS_RESOURCES
Kekurangan sumber daya, mungkin memori, mencegah NDIS mendaftarkan pemanggil.
NDIS_STATUS_FAILURE
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

DriverEntry

MiniportDriverUnload

MiniportInitializeEx

MiniportSetOptions

NDIS_MINIPORT_DRIVER_CHARACTERISTICS NdisMDeregisterMiniportDriver