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.
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
MiniportDevicePnPEventNotifySaran 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