Bagikan melalui


Fungsi NdisMFreePort (ndis.h)

Fungsi NdisMFreePort membebaskan port NDIS yang sebelumnya dialokasikan dengan fungsi NdisMAllocatePort .

Sintaks

NDIS_STATUS NdisMFreePort(
       NDIS_HANDLE      NdisMiniportHandle,
  [in] NDIS_PORT_NUMBER PortNumber
);

Parameter

NdisMiniportHandle

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

[in] PortNumber

Jumlah port NDIS yang harus dibebaskan oleh NDIS. Nilai PortNumber adalah nilai NDIS_PORT_NUMBER, yang memiliki jenis data ULONG. NDIS menyediakan nomor port di anggota PortNumber dari NDIS_PORT_CHARACTERISTICS struktur ketika driver miniport memanggil fungsi NdisMAllocatePort .

Nomor port dapat berupa angka dari 1 hingga 0xffffff. Anda tidak dapat mengatur PortNumber ke nol, yang menunjukkan port default.

Nilai kembali

NdisMFreePort dapat mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
NDIS berhasil membebaskan sumber daya untuk port.
NDIS_STATUS_INVALID_PORT
NDIS tidak dapat membebaskan sumber daya untuk port karena nomor port tidak valid.
NDIS_STATUS_INVALID_PORT_STATE
NDIS tidak dapat membebaskan sumber daya untuk port karena port berada dalam keadaan di mana operasi bebas tidak valid. Untuk membebaskan port, port harus dalam status dialokasikan.
NDIS_STATUS_INVALID_DATA
Nomor port yang disediakan pada parameter PortNumber tidak valid.

Keterangan

Jika driver miniport mengalokasikan port dengan memanggil fungsi NdisMAllocatePort , driver harus membebaskan port sebelum kembali dari fungsi MiniportHaltEx-nya . Jika driver miniport mengaktifkan port dengan mengeluarkan peristiwa NetEventPortActivation Plug and Play (PnP), driver harus mengeluarkan peristiwa PnP NetEventPortDeactivation untuk port sebelum membebaskan port.

Ketika driver miniport memanggil NdisMFreePort untuk membebaskan port, NDIS juga membebaskan nomor port yang ditetapkan ke port yang dibebaskan sehingga NDIS dapat menggunakan kembali nomor port.

Driver miniport tidak boleh mencoba membebaskan porta default.

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
Aturan kepatuhan DDI Irql_Miniport_Driver_Function(ndis)

Lihat juga

Default NDIS Port

Membebaskan Port NDIS

MiniportHaltEx

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMAllocatePort