Fungsi NdisMAllocatePort (ndis.h)

Fungsi NdisMAllocatePort mengalokasikan port NDIS yang terkait dengan adaptor miniport.

Sintaks

NDIS_STATUS NdisMAllocatePort(
            NDIS_HANDLE                NdisMiniportHandle,
  [in, out] PNDIS_PORT_CHARACTERISTICS PortCharacteristics
);

Parameter

NdisMiniportHandle

Handel adaptor miniport yang diteruskan NDIS ke parameter MiniportAdapterHandle Fungsi MiniportInitializeEx .

[in, out] PortCharacteristics

Penunjuk ke NDIS_PORT_CHARACTERISTICS struktur yang mendefinisikan karakteristik port.

Nilai kembali

NdisMAllocatePort dapat mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
NDIS berhasil mengalokasikan sumber daya untuk port.
NDIS_STATUS_RESOURCES
NDIS tidak dapat mengalokasikan sumber daya untuk port.
NDIS_STATUS_CLOSING
Alokasi port gagal karena adaptor miniport terkait ditutup.
NDIS_STATUS_INVALID_DATA
Data yang disediakan pada parameter PortCharacteristics tidak valid.

Keterangan

Fungsi NdisMAllocatePort mengalokasikan sumber daya dan nomor port untuk port yang terkait dengan adaptor miniport. Port tidak aktif sampai driver miniport mengeluarkan peristiwa NetEventPortActivation Plug and Play (PnP) untuk port.

Setelah driver miniport mengaktifkan port, NDIS menghasilkan pemberitahuan PnP untuk driver yang terlalu mengandalkan. Jika driver atau aplikasi mode pengguna yang terlalu berlebihan mengeluarkan OID_GEN_ENUMERATE_PORTS OID untuk menghitung port adaptor miniport, NDIS tidak menyertakan port yang tidak dialokasikan aktif dalam daftar port.

Ketika NdisMAllocatePort berhasil kembali, anggota PortNumber dari NDIS_PORT_CHARACTERISTICS struktur yang ditentukan parameter PortCharacteristics diatur ke nomor port yang ditetapkan NDIS ke port.

Setelah port tidak lagi diperlukan, driver miniport harus memanggil fungsi NdisMFreePort untuk membebaskan port.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Target Platform Universal
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL <= DISPATCH_LEVEL

Lihat juga

Mengalokasikan Port NDIS

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMFreePort

OID_GEN_ENUMERATE_PORTS