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) mengirim NDIS Plug and Play IRP 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 Menginisialisasi.

Driver miniport biasanya melakukan tugas-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 tidak bertumpuk.

  2. NET_BUFFER dan NET_BUFFER_LIST kumpulan (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 selengkapnya, 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 kembali dan adaptor kembali ke status Dihentikan.

Menghentikan Adaptor Miniport

Status dan Operasi Adapter Miniport

Operasi Kirim dan Terima Driver Miniport

Menyebarkan/Mengumpulkan DMA

Memulai Adaptor Miniport