Bagikan melalui


Menginisialisasi Adaptor Miniport

Ketika perangkat jaringan tersedia, sistem memuat driver miniport NDIS yang diperlukan, jika belum dimuat. Selanjutnya, manajer Plug and Play (PnP) mengirimkan NDIS IRP Plug and Play untuk memulai perangkat. NDIS memanggil fungsi MiniportInitializeEx driver miniport untuk menginisialisasi adaptor untuk operasi I/O jaringan. NDIS dapat memanggil MiniportInitializeEx kapan saja setelah driver diinisialisasi. Untuk informasi selengkapnya tentang inisialisasi driver miniport, lihat Menginisialisasi Driver Miniport.

Hingga MiniportInitializeEx kembali, NDIS tidak mengirimkan permintaan untuk adaptor yang sedang diinisialisasi. Adaptor berada dalam status Inisialisasi.

Driver miniport biasanya melakukan tugas berikut di MiniportInitializeEx:

  1. Mendapatkan informasi konfigurasi untuk adaptor.

  2. Mendapatkan informasi tentang sumber daya perangkat keras untuk adaptor.

  3. Memanggil NdisMSetMiniportAttributes dan menyediakan atribut berikut yang terkait dengan adaptor:

    • Penunjuk ke area konteks yang dialokasikan driver.
    • Bendera atribut yang sesuai.
    • Interval waktu habis untuk memanggil fungsi MiniportCheckForHangEx - nya.
    • Jenis antarmuka.
  4. Menginisialisasi sumber daya khusus adaptor.

Driver miniport menentukan atribut adaptor dalam struktur NDIS_MINIPORT_ADAPTER_ATTRIBUTES yang diteruskan MiniportInitializeEx ke NdisMSetMiniportAttributes.

Biasanya, MiniportInitializeEx mengalokasikan sumber daya khusus adaptor dalam urutan berikut:

  1. Memori kumpulan tanpa halaman.

  2. NET_BUFFER dan kumpulan NET_BUFFER_LIST (lihat Operasi Kirim dan Terima Driver Miniport).

  3. Kunci putaran.

  4. Timer.

  5. Port IO.

  6. DMA (lihat Menyebarkan/Mengumpulkan DMA).

  7. Memori bersama.

  8. Interupsi (lihat Mengelola Interupsi).

Setelah MiniportInitializeEx berhasil dikembalikan, adaptor berada dalam status Dijeda. NDIS dapat memanggil fungsi MiniportRestart untuk transisi adaptor ke status Berjalan. Untuk informasi selengkapnya, lihat Memulai Adaptor Miniport.

Jika MiniportInitializeEx mengembalikan NDIS_STATUS_SUCCESS, driver harus merilis semua sumber daya untuk adaptor dalam fungsi MiniportHaltEx . Untuk informasi lebih lanjut, lihat Menghentikan Adaptor Miniport.

Driver harus memanggil NdisMSetMiniportAttributes dan mengatur GeneralAttributes dalam struktur NDIS_MINIPORT_ADAPTER_ATTRIBUTES jika mengembalikan NDIS_STATUS_SUCCESS.

Jika MiniportInitializeEx gagal, MiniportInitializeEx harus merilis semua sumber daya yang dialokasikan sebelum dikembalikan dan adaptor kembali ke status Dihentikan.

Menghentikan Adaptor Miniport

Status dan Operasi Adaptor Miniport

Operasi Pengiriman dan Penerimaan Driver Miniport

Menyebarkan/Mengumpulkan DMA

Memulai Adaptor Miniport