Bagikan melalui


struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY (ndis.h)

Struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY menentukan array port tujuan sakelar Hyper-V yang dapat diperluas untuk paket. Setiap elemen dalam array diformat sebagai struktur NDIS_SWITCH_PORT_DESTINATION .

Informasi ini terkandung dalam data out-of-band (OOB) dari struktur NET_BUFFER_LIST paket.

Sintaks

typedef struct _NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY {
  NDIS_OBJECT_HEADER Header;
  UINT32             ElementSize;
  UINT32             NumElements;
  UINT32             NumDestinations;
  PVOID              FirstElement;
} NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY, *PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY;

Anggota

Header

Jenis, revisi, dan ukuran struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Anggota ini diformat sebagai struktur NDIS_OBJECT_HEADER .

Anggota JenisHeader harus diatur ke NDIS_OBJECT_TYPE_DEFAULT. Untuk menentukan versi struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY , anggota RevisiHeader harus diatur ke nilai berikut:

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1

Versi asli untuk NDIS 6.30 dan yang lebih baru.

Atur anggota Ukuran ke NDIS_SIZEOF_NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1.

ElementSize

Nilai ULONG yang menentukan ukuran, dalam byte, dari setiap elemen NDIS_SWITCH_PORT_DESTINATION yang mengikuti struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .

NumElements

Nilai ULONG yang menentukan jumlah total elemen NDIS_SWITCH_PORT_DESTINATION dalam struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .

Nilai anggota NumElements menentukan jumlah elemen NDIS_SWITCH_PORT_DESTINATION yang saat ini digunakan (seperti yang ditentukan oleh anggota NumDestinations ) ditambah jumlah elemen yang tersedia untuk port tujuan baru. Jumlah elemen NDIS_SWITCH_PORT_DESTINATION yang tidak digunakan dalam struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY dihitung oleh (NumElements - NumDestinations).

NumDestinations

Nilai ULONG yang menentukan jumlah elemen NDIS_SWITCH_PORT_DESTINATION dalam struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY yang menentukan tujuan port.

Catatan Jika NumElements diatur ke nol, anggota ini diabaikan.
 

FirstElement

Penunjuk ke elemen NDIS_SWITCH_PORT_DESTINATION pertama dalam buffer yang berisi struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY dan semua elemennya.

Keterangan

Ekstensi sakelar yang dapat diperluas dapat melakukan hal berikut dengan port tujuan dalam struktur NET_BUFFER_LIST paket:

  • Kueri port tujuan saat ini pada sakelar yang dapat diperluas yang akan diteruskan paket.

    Ekstensi sakelar yang dapat diperluas memanggil fungsi GetNetBufferListDestinations untuk mendapatkan array tujuan port untuk paket. GetNetBufferListDestinations mengembalikan penunjuk ke struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY dalam parameter Tujuan .

    Untuk informasi selengkapnya, lihat Mengkueri Data Port Tujuan Switch yang Dapat Diperluas Paket.

  • Tambahkan atau ubah port tujuan untuk paket.

    Setelah mengkueri port tujuan saat ini untuk paket, ekstensi sakelar yang dapat diperluas dapat melakukan hal berikut:

    • Ekstensi penerusan dapat menambahkan port tujuan baru ke struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .
    • Ekstensi pemfilteran atau penerusan dapat mengubah data dalam struktur NDIS_SWITCH_PORT_DESTINATION untuk port tujuan.
      Catatan Ekstensi pemfilteran hanya dapat mengubah anggota IsExcluded dari struktur ini. Ekstensi penerusan juga dapat mengubah anggota PreserveVLAN dan PreservePriority .
       
    Jika ekstensi menambahkan atau memodifikasi tujuan port, ekstensi harus memanggil UpdateNetBufferListDestinations untuk menerapkan perubahan pada port tujuan ke data OOB paket dalam struktur NET_BUFFER_LIST .

    Untuk informasi selengkapnya, lihat Mengelola Data Port Tujuan Hyper-V Extensible Switch.

Ekstensi sakelar yang dapat diperluas dapat menggunakan makro NDIS_SWITCH_PORT_DESTINATION_AT_ARRAY_INDEX untuk mengakses elemen NDIS_SWITCH_PORT_DESTINATION dalam array NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.30 dan yang lebih baru.
Header ndis.h (termasuk Ndis.h)

Lihat juga

Menambahkan Extensible Switch Destination Port Data ke Paket

Tidak termasuk Pengiriman Paket ke Port Tujuan Switch yang Dapat Diperluas

Ekstensi Penerusan

GetNetBufferListDestinations

Penerusan Hibrid

NDIS_OBJECT_HEADER

NDIS_SWITCH_PORT_DESTINATION

NDIS_SWITCH_PORT_DESTINATION_AT_ARRAY_INDEX

NET_BUFFER_LIST

Gambaran Umum Hyper-V Extensible Switch

UpdateNetBufferListDestinations