struktur NDIS_MINIPORT_DRIVER_CHARACTERISTICS (ndis.h)

Driver NDIS menginisialisasi struktur NDIS_MINIPORT_DRIVER_CHARACTERISTICS untuk menentukan karakteristik driver miniport-nya, termasuk titik masuk untuk fungsi MiniportXxx-nya .

Sintaks

typedef struct _NDIS_MINIPORT_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                         Header;
  UCHAR                                      MajorNdisVersion;
  UCHAR                                      MinorNdisVersion;
  UCHAR                                      MajorDriverVersion;
  UCHAR                                      MinorDriverVersion;
  ULONG                                      Flags;
  SET_OPTIONS_HANDLER                        SetOptionsHandler;
  MINIPORT_INITIALIZE_HANDLER                InitializeHandlerEx;
  MINIPORT_HALT_HANDLER                      HaltHandlerEx;
  MINIPORT_DRIVER_UNLOAD                     UnloadHandler;
  MINIPORT_PAUSE_HANDLER                     PauseHandler;
  MINIPORT_RESTART_HANDLER                   RestartHandler;
  MINIPORT_OID_REQUEST_HANDLER               OidRequestHandler;
  MINIPORT_SEND_NET_BUFFER_LISTS_HANDLER     SendNetBufferListsHandler;
  MINIPORT_RETURN_NET_BUFFER_LISTS_HANDLER   ReturnNetBufferListsHandler;
  MINIPORT_CANCEL_SEND_HANDLER               CancelSendHandler;
  MINIPORT_CHECK_FOR_HANG_HANDLER            CheckForHangHandlerEx;
  MINIPORT_RESET_HANDLER                     ResetHandlerEx;
  MINIPORT_DEVICE_PNP_EVENT_NOTIFY_HANDLER   DevicePnPEventNotifyHandler;
  MINIPORT_SHUTDOWN_HANDLER                  ShutdownHandlerEx;
  MINIPORT_CANCEL_OID_REQUEST_HANDLER        CancelOidRequestHandler;
  MINIPORT_DIRECT_OID_REQUEST_HANDLER        DirectOidRequestHandler;
  MINIPORT_CANCEL_DIRECT_OID_REQUEST_HANDLER CancelDirectOidRequestHandler;
  MINIPORT_SYNCHRONOUS_OID_REQUEST_HANDLER   SynchronousOidRequestHandler;
} NDIS_MINIPORT_DRIVER_CHARACTERISTICS, *PNDIS_MINIPORT_DRIVER_CHARACTERISTICS;

Anggota

Header

Struktur NDIS_OBJECT_HEADER untuk struktur NDIS_MINIPORT_DRIVER_CHARACTERISTICS . Atur anggota Jenis struktur yang ditentukan Header ke NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS.

Untuk menunjukkan versi struktur NDIS_MINIPORT_DRIVER_CHARACTERISTICS , atur anggota Revisi ke salah satu nilai berikut:

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3

Menambahkan anggota SynchronousOidRequestHandler untuk NDIS 6.80.

Atur anggota Ukuran ke NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2

Menambahkan anggota DirectOidRequestHandler, dan CancelDirectOidRequestHandler untuk NDIS 6.1.

Atur anggota Ukuran ke NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1

Versi asli untuk NDIS 6.0.

Atur anggota Ukuran ke NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1.

MajorNdisVersion

Versi utama pustaka NDIS yang digunakan driver. Nilai saat ini adalah 0x06.

MinorNdisVersion

Versi NDIS minor. Berikut ini adalah pengaturan nilai versi minor yang tersedia.

Nilai Makna
0 NDIS 6
20 NDIS 6.20
30 NDIS 6.30
40 NDIS 6,40
50 NDIS 6,50
51 NDIS 6,51
60 NDIS 6.60
70 NDIS 6,70
80 NDIS 6,80
81 NDIS 6,81
82 NDIS 6,82
83 NDIS 6,83
84 NDIS 6,84
85 NDIS 6,85
86 NDIS 6,86

MajorDriverVersion

Dicadangkan untuk nomor versi utama driver. Driver Miniport dapat menentukan nilai apa pun yang mereka butuhkan.

MinorDriverVersion

Dicadangkan untuk nomor versi minor driver. Driver Miniport dapat menentukan nilai apa pun yang mereka butuhkan.

Flags

Bitmask yang dapat diatur ke nol atau salah satu bendera berikut, dikombinasikan dengan bitwise ATAU:

NDIS_INTERMEDIATE_DRIVER

Atur jika penelepon adalah driver perantara NDIS.

NDIS_WDM_DRIVER

Atur jika pemanggil adalah driver miniport NDIS-WDM.

SetOptionsHandler

Titik masuk untuk fungsi MiniportSetOptions penelepon.

Diperlukan untuk Co-NDIS. Disarankan untuk driver miniport Ethernet yang mendukung RSS menggunakan MSI-C melalui PCI.

InitializeHandlerEx

Wajib diisi. Titik masuk untuk Fungsi MiniportInitializeEx .

HaltHandlerEx

Wajib diisi. Titik masuk untuk fungsi MiniportHaltEx .

UnloadHandler

Wajib diisi. Titik masuk untuk Fungsi MiniportDriverUnload .

PauseHandler

Wajib diisi. Titik masuk untuk fungsi MiniportPause .

RestartHandler

Wajib diisi. Titik masuk untuk fungsi MiniportRestart .

OidRequestHandler

Titik masuk untuk fungsi MiniportOidRequest . Diperlukan untuk semua driver miniport tanpa koneksi, termasuk semua driver Ethernet, WLAN, dan IM. Opsional untuk beberapa driver miniport CoNDIS.

SendNetBufferListsHandler

Wajib diisi. Titik masuk untuk Fungsi MiniportSendNetBufferLists .

ReturnNetBufferListsHandler

Wajib diisi. Titik masuk untuk Fungsi MiniportReturnNetBufferLists .

CancelSendHandler

Wajib diisi. Titik masuk untuk fungsi MiniportCancelSend .

CheckForHangHandlerEx

Pilihan. Titik masuk untuk Fungsi MiniportCheckForHangEx .

MiniportCheckForHangEx tidak diperlukan untuk driver perantara atau miniport virtual karena mereka bukan perangkat fisik yang dapat menggantung, sehingga mereka harus mengatur titik masuk ini ke NULL.

MiniportCheckForHangEx dilarang pada perangkat AOAC apa pun karena dampak pada masa pakai baterai, sehingga driver miniport untuk perangkat ini harus mengatur titik masuk ini ke NULL.

MiniportCheckForHangEx tidak disarankan untuk driver miniport yang dimaksudkan untuk diinstal pada perangkat non-AOAC, bertenaga baterai karena dampak pada masa pakai baterai, sehingga mereka harus mengatur titik masuk ini ke NULL.

MiniportCheckForHangEx diizinkan tetapi tidak diperlukan untuk driver miniport yang dimaksudkan untuk dipasang di perangkat line-powered (bertenaga utama). Untuk driver yang menargetkan NDIS 6.30 dan yang lebih baru, pertimbangkan untuk menggunakan NdisMResetMiniport sebagai gantinya.

ResetHandlerEx

Opsional (diperlukan jika Anda menyediakan CheckForHangHandlerEx). Titik masuk untuk fungsi MiniportResetEx . MiniportResetEx tidak diperlukan untuk driver perantara, sehingga mereka harus mengatur titik masuk ini ke NULL.

DevicePnPEventNotifyHandler

Wajib diisi. Titik masuk untuk Fungsi MiniportDevicePnPEventNotify .

ShutdownHandlerEx

Wajib diisi. Titik masuk untuk fungsi MiniportShutdownEx .

CancelOidRequestHandler

Wajib diisi. Titik masuk untuk Fungsi MiniportCancelOidRequest .

DirectOidRequestHandler

Titik masuk untuk Fungsi MiniportDirectOidRequest . Ini adalah titik masuk opsional. Atur anggota ini ke NULL jika driver miniport tidak menangani permintaan OID langsung.

Opsional untuk Ethernet; namun, jika disediakan, keduanya harus disediakan.

Diperlukan untuk miniport WLAN dan Ethernet yang mengimplementasikan offload RDMA atau IPSec.

CancelDirectOidRequestHandler

Titik masuk untuk Fungsi MiniportCancelDirectOidRequest . Ini adalah titik masuk opsional. Atur anggota ini ke NULL jika driver miniport tidak menangani permintaan OID langsung.

Opsional untuk Ethernet; namun, jika disediakan, keduanya harus disediakan.

Diperlukan untuk miniport WLAN dan Ethernet yang mengimplementasikan offload RDMA atau IPSec.

SynchronousOidRequestHandler

Titik masuk untuk Fungsi MiniportSynchronousOidRequest . Ini adalah titik masuk opsional. Atur anggota ini ke NULL jika driver miniport tidak menangani permintaan OID Sinkron.

Diperlukan untuk miniport WLAN dan Ethernet yang mengimplementasikan RSSv2.

Keterangan

Driver NDIS meneruskan penunjuk ke struktur NDIS_MINIPORT_DRIVER_CHARACTERISTICS dalam parameter MiniportDriverCharacteristics dari Fungsi NdisMRegisterMiniportDriver . Driver miniport memanggil NdisMRegisterMiniportDriver dari rutinitas DriverEntry-nya (lihat juga DriverEntry driver NDIS Miniport Drivers).

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Header ndis.h (termasuk Ndis.h)

Lihat juga

DriverEntry

MiniportCancelDirectOidRequest

MiniportCancelOidRequest

MiniportCancelSend

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportDirectOidRequest

MiniportDriverUnload

MiniportHaltEx

MiniportInitializeEx

MiniportOidRequest

MiniportPause

MiniportResetEx

MiniportRestart

MiniportReturnNetBufferLists

MiniportSendNetBufferLists

MiniportSetOptions

MiniportShutdownEx

NdisMRegisterMiniportDriver