NDIS_SWITCH_UPDATE_NET_BUFFER_LIST_DESTINATIONS fungsi panggilan balik (ndis.h)
Ekstensi sakelar yang dapat diperluas Hyper-V memanggil fungsi UpdateNetBufferListDestinations untuk melakukan modifikasi yang dilakukan ekstensi pada paket yang berisi beberapa port tujuan switch yang dapat diperluas. Fungsi ini menyimpan modifikasi ini ke konteks penerusan sakelar yang dapat diperluas out-of-band (OOB) dari struktur NET_BUFFER_LIST paket.
Sintaks
NDIS_SWITCH_UPDATE_NET_BUFFER_LIST_DESTINATIONS NdisSwitchUpdateNetBufferListDestinations;
NDIS_STATUS NdisSwitchUpdateNetBufferListDestinations(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in, out] PNET_BUFFER_LIST NetBufferList,
[in] UINT32 NumberOfNewDestinations,
[in] 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 struktur NET_BUFFER_LIST untuk satu paket.
[in] NumberOfNewDestinations
Nilai UINT32 yang menentukan jumlah port tujuan baru yang ditambahkan ke paket.
[in] 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.
Setelah ekstensi mendapatkan struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY , ekstensi dapat melakukan hal berikut:
-
Tambahkan elemen NDIS_SWITCH_PORT_DESTINATION tambahan dalam array.
Untuk informasi selengkapnya, lihat Menambahkan Extensible Switch Destination Port Data ke Paket.
-
Ubah elemen NDIS_SWITCH_PORT_DESTINATION array yang ada untuk mengecualikan paket agar tidak diteruskan ke port tertentu.
Untuk informasi selengkapnya, lihat Mengecualikan Pengiriman Paket ke Port Tujuan Switch yang Dapat Diperluas.
Selain itu, setelah perubahan untuk port tujuan diterapkan, port tujuan tidak dapat dihapus, dan hanya anggota IsExcluded dari struktur NDIS_SWITCH_PORT_DESTINATION port tujuan yang dapat diubah. Untuk informasi selengkapnya, lihat Mengecualikan Pengiriman Paket ke Port Tujuan Switch yang Dapat Diperluas.
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