Bagikan melalui


struktur NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES (ndis.h)

Driver miniport NDIS menyiapkan struktur NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES untuk menentukan atribut pendaftaran yang terkait dengan adaptor miniport.

Sintaks

typedef struct _NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES {
  NDIS_OBJECT_HEADER  Header;
  NDIS_HANDLE         MiniportAdapterContext;
  ULONG               AttributeFlags;
  UINT                CheckForHangTimeInSeconds;
  NDIS_INTERFACE_TYPE InterfaceType;
} NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES, *PNDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES;

Anggota

Header

Jenis, revisi, dan ukuran struktur NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES . Anggota ini diformat sebagai struktur NDIS_OBJECT_HEADER .

Driver miniport harus mengatur anggota JenisHeader ke NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES. Untuk menentukan versi struktur NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES , driver harus mengatur anggota RevisiHeader ke salah satu nilai berikut:

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2

Menambahkan bendera AttributeFlags untuk NDIS 6.30.

Atur anggota Ukuran ke NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2.

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1

Versi asli untuk NDIS 6.0.

Atur anggota Ukuran ke NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1.

MiniportAdapterContext

Handel ke area konteks yang dialokasikan driver miniport dalam fungsi MiniportInitializeEx-nya . Driver miniport menggunakan area konteks ini untuk mempertahankan informasi status untuk adaptor miniport.

AttributeFlags

Bitmask bendera yang dikombinasikan dengan bitwise OR. Driver miniport NDIS harus mengatur satu atau beberapa bendera berikut:

NDIS_MINIPORT_ATTRIBUTES_HARDWARE_DEVICE

Atur apakah driver miniport secara langsung mengontrol perangkat fisik. Perangkat fisik diberi sumber daya perangkat keras seperti gangguan, port I/O, I/O yang dipetakan memori, atau saluran DMA yang harus diklaim driver miniport dari Fungsi MiniportInitializeEx .

NDIS_MINIPORT_ATTRIBUTES_NDIS_WDM

Atur apakah antarmuka tingkat bawah adaptor miniport adalah driver bus WDM seperti USB atau IEEE 1394. Dalam hal ini, driver miniport tidak mengalokasikan sumber daya perangkat keras seperti port I/O, interupsi, I/O yang dipetakan memori, atau saluran DMA. Sebagai gantinya, driver berkomunikasi dengan perangkat melalui antarmuka WDM driver bus yang mendasar.

NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER

Atur apakah NIC penelepon adalah perangkat DMA master bus.

NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND

Atur jika NDIS tidak boleh memanggil fungsi MiniportHaltEx driver miniport sebelum sistem beralih ke status daya rendah (tidur). Driver yang mengandalkan status yang dikelola perangkat keras tidak boleh mengatur bendera ini.

NDIS_MINIPORT_ATTRIBUTES_SURPRISE_REMOVE_OK

Atur apakah driver miniport dapat menangani penghapusan NIC-nya tanpa pemberitahuan pengguna. Driver NDIS menerima pemberitahuan penghapusan mendadak di Fungsi MiniportDevicePnPEventNotify .

NDIS_MINIPORT_ATTRIBUTES_NOT_CO_NDIS

Diatur oleh driver miniport yang dapat mendukung perangkat berorientasi koneksi dan tanpa koneksi untuk menunjukkan bahwa perangkat adalah perangkat tanpa koneksi.

NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO

Diatur oleh driver miniport CoNDIS yang tidak menyediakan layanan TAPI. Pengaturan NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO mencegah NDIS mengikat driver miniport ke driver proksi NDIS TAPI (NDPROXY). Secara default, NDIS mengikat NDPROXY ke semua driver miniport CoNDIS.

NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT

Diatur oleh driver miniport yang memanggil fungsi NdisMNetPnPEvent untuk mengaktifkan port defaultnya. Jika NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT tidak diatur, port default aktif. NDIS tidak mengikat driver protokol atau melampirkan modul filter ke adaptor miniport jika port defaultnya tidak aktif.

NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND

Dimulai dengan NDIS 6.30, bendera ini diatur jika driver miniport dapat beralih ke status daya rendah tanpa dijeda.

Untuk informasi selengkapnya tentang bendera ini, lihat bagian Keterangan.

NDIS_MINIPORT_ATTRIBUTES_REGISTER_BUGCHECK_CALLBACK

Dimulai dengan miniport NDIS 6.30, NDIS tidak akan memanggil handler MiniportShutdownEx miniport selama BugCheck kecuali bendera ini diatur. Sebagian besar miniport tidak boleh mengatur bendera ini.

CheckForHangTimeInSeconds

Interval waktu habis, dalam detik, di mana NDIS harus memanggil Fungsi MiniportCheckForHangEx . Jika driver miniport belum menanggapi permintaan OID atau permintaan pengiriman dalam dua panggilan berturut-turut ke MiniportCheckForHangEx, NDIS dapat memanggil fungsi MiniportResetEx driver miniport.

Interval yang digunakan NDIS saat memanggil MiniportCheckForHangEx selalu kelipatan 2 detik. Misalnya, jika Anda menentukan 5 detik, intervalnya akan sekitar 4 detik.

Jika anggota ini adalah 0, interval waktu habis default adalah 2 detik.

Catatan Interval waktu habis harus lebih besar dari waktu inisialisasi driver miniport Anda. Untuk informasi selengkapnya, lihat Operasi Check-for-Hang dan Reset Adaptor Miniport.
 

InterfaceType

Jenis antarmuka bus I/O adaptor miniport. Ini biasanya merupakan jenis bus I/O tempat adaptor miniport terhubung. Nilai berikut didukung di NDIS 6.0:

NdisInterfaceInternal

Menentukan antarmuka internal khusus host.

NdisInterfaceIsa

Menentukan antarmuka ISA.

NdisInterfaceEisa

Menentukan antarmuka EXTENDED ISA (EISA). Jenis antarmuka ini tidak didukung di NDIS 6.0 dan versi yang lebih baru.

NdisInterfaceMca

Mengacu pada bus MCA, yang tidak lagi didukung. Jenis antarmuka ini tidak didukung di NDIS 6.0 dan versi yang lebih baru.

NdisInterfaceTurboChannel

Menentukan antarmuka Saluran Turbo.

NdisInterfacePci

Menentukan antarmuka Interkoneksi Komponen Periferal (PCI).

NdisInterfacePcMcia

Menentukan antarmuka Personal Computer Memory Card International Association (PC Card).

NdisInterfaceCBus

Menentukan CBus.

NdisInterfaceMPIBus

Menentukan MPIBus.

NdisInterfaceMPSABus

Menentukan MPSABus.

NdisInterfaceProcessorInternal

Menentukan bus internal prosesor.

NdisInterfaceInternalPowerBus

Menentukan power bus internal.

NdisInterfacePNPISABus

Menentukan PNPISABus.

NdisInterfacePNPBus

Menentukan PNPBus.

Parameter ini tidak relevan untuk driver perantara, yang harus menentukan 0 untuk anggota ini.

Keterangan

Driver miniport meneruskan pointer ke struktur NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES dalam parameter MiniportAttributes Fungsi NdisMSetMiniportAttributes . Driver miniport memanggil NdisMSetMiniportAttributes dari fungsi MiniportInitializeEx selama inisialisasi.

Driver Miniport harus mengatur atribut dalam NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES sesegera mungkin dalam MiniportInitializeEx. Mengatur atribut ini adalah wajib.

Bendera NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND

NDIS mengeluarkan permintaan OID OID_PNP_SET_POWER ke driver miniport sebelum adaptor miniport yang mendasar ditransisikan ke status daya rendah D1, D2, atau D3. Ketika driver menangani OID ini, driver harus menyiapkan adaptor miniport untuk transisi ke status daya yang lebih rendah dan tidak boleh menunggu penyelesaian indikasi paket terima yang tertunda.

Dalam beberapa kasus, sebelum NDIS mengeluarkan permintaan OID OID_PNP_SET_POWER ke driver miniport, NDIS memanggil fungsi MiniportPause driver miniport seperti yang dijelaskan di bawah ini:

  • Jika bendera NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND tidak diatur, NDIS memanggil fungsi MiniportPause driver miniport sebelum permintaan OID OID_PNP_SET_POWER dikeluarkan untuk driver. Dalam konteks panggilan MiniportPause , driver harus menunggu penyelesaian tertunda menerima indikasi paket.
  • Jika bendera NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND diatur, NDIS tidak memanggil fungsi MiniportPause driver miniport sebelum permintaan OID OID_PNP_SET_POWER dikeluarkan untuk driver. Ketika driver miniport menangani permintaan OID, tidak boleh berasumsi bahwa sebelumnya telah dijeda saat menyiapkan adaptor miniport untuk transisi ke status daya rendah.
    Catatan Pengecualian untuk ini terjadi ketika protokol atau driver filter yang mendukung NDIS 6.20 atau versi NDIS yang lebih lama terikat atau dilampirkan ke adaptor miniport. Dalam hal ini, NDIS memanggil fungsi MiniportPause driver miniport terlepas dari apakah driver miniport menetapkan bendera NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND .
     

Persyaratan

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

Lihat juga

Operasi Check-for-Hang dan Reset Adaptor Miniport

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportHaltEx

MiniportInitializeEx

MiniportPause

MiniportResetEx

NDIS_OBJECT_HEADER

NdisMNetPnPEvent

NdisMSetMiniportAttributes

OID_PNP_SET_POWER