NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS fungsi panggilan balik (ndis.h)
Fungsi GetNetBufferListDestinations mengembalikan port tujuan sakelar Hyper-V yang dapat diperluas dari paket yang ditentukan oleh struktur NET_BUFFER_LIST .
Sintaks
NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS NdisSwitchGetNetBufferListDestinations;
void NdisSwitchGetNetBufferListDestinations(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in, out] PNET_BUFFER_LIST NetBufferList,
[out] PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY *Destinations
)
{...}
Parameter
[in] NdisSwitchContext
Nilai NDIS_SWITCH_CONTEXT yang berisi handel modul sakelar yang dapat diperluas tempat ekstensi sakelar yang dapat diperluas Hyper-V terpasang. Ketika ekstensi memanggil NdisFGetOptionalSwitchHandlers, handel ini dikembalikan melalui parameter NdisSwitchContext .
[in, out] NetBufferList
Penunjuk ke daftar struktur NET_BUFFER_LIST yang ditautkan.
[out] Destinations
Penunjuk ke struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Struktur ini menentukan port tujuan sakelar yang dapat diperluas dari paket.
Nilai kembali
Jika panggilan berhasil, fungsi akan mengembalikan NDIS_STATUS_SUCCESS. Jika tidak, kode kesalahan NDIS_STATUS_Xxx akan dikembalikan yang ditentukan dalam Ndis.h.
Keterangan
Ekstensi sakelar yang dapat diperluas memanggil fungsi GetNetBufferListDestinations untuk mendapatkan array port tujuan sakelar yang dapat diperluas untuk paket. Jika fungsi berhasil dikembalikan, array diperoleh melalui parameter Tujuan , yang berisi penunjuk ke struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Setiap elemen dalam array ini diformat sebagai struktur NDIS_SWITCH_PORT_DESTINATION yang menentukan port tujuan untuk paket.
Jika ekstensi mengalokasikan paket, ekstensi harus terlebih dahulu memanggil fungsi AllocateNetBufferListForwardingContext sebelum memanggil GetNetBufferListDestinations. Fungsi AllocateNetBufferListForwardingContext mengalokasikan konteks penerusan sakelar yang dapat diperluas untuk paket. Konteks ini berisi data sakelar yang dapat diperluas out-of-band (OOB) yang mencakup struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .
Untuk informasi selengkapnya tentang konteks penerusan sakelar yang dapat diperluas, lihat Konteks Penerusan Sakelar Yang Dapat Diperluas Hyper-V.
Setelah ekstensi memperoleh array, ekstensi dapat melakukan hal berikut:
-
Alokasikan ruang untuk elemen NDIS_SWITCH_PORT_DESTINATION tambahan dalam array.
Untuk informasi selengkapnya, lihat Menambahkan Extensible Switch Destination Port Data ke Paket.
-
Ubah informasi port tujuan dalam elemen NDIS_SWITCH_PORT_DESTINATION array. Misalnya, ekstensi dapat menentukan port mana yang akan diteruskan paket atau dapat mengecualikan paket agar tidak diteruskan ke port tertentu.
Untuk informasi selengkapnya, lihat Memodifikasi Data Port Sumber Sakelar yang Dapat Diperluas Paket.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung di NDIS 6.30 dan yang lebih baru. |
Target Platform | Desktop |
Header | ndis.h (termasuk Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Lihat juga
AllocateNetBufferListForwardingContext