NDIS_SWITCH_ADD_NET_BUFFER_LIST_DESTINATION fungsi panggilan balik (ndis.h)

Fungsi AddNetBufferListDestination menambahkan port tujuan tunggal untuk paket yang ditentukan oleh struktur NET_BUFFER_LIST .

Sintaks

NDIS_SWITCH_ADD_NET_BUFFER_LIST_DESTINATION NdisSwitchAddNetBufferListDestination;

NDIS_STATUS NdisSwitchAddNetBufferListDestination(
  [in]      NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in, out] PNET_BUFFER_LIST NetBufferList,
  [in]      PNDIS_SWITCH_PORT_DESTINATION Destination
)
{...}

Parameter

[in] NdisSwitchContext

Nilai NDIS_SWITCH_CONTEXT yang berisi handel modul sakelar yang dapat diperluas tempat ekstensi sakelar hyper-V yang dapat diperluas terpasang. Ketika ekstensi memanggil NdisFGetOptionalSwitchHandlers, handel ini dikembalikan melalui parameter NdisSwitchContext .

[in, out] NetBufferList

Penunjuk ke struktur NET_BUFFER_LIST untuk paket.

Catatan Struktur ini harus berisi konteks penerusan sakelar yang dapat diperluas. Jika ekstensi membuat atau mengkloning paket, sebelumnya harus mengalokasikan struktur ini dengan memanggil fungsi AllocateNetBufferListForwardingContext .
 

[in] Destination

Penunjuk ke struktur NDIS_SWITCH_PORT_DESTINATION . Struktur ini menentukan port sakelar yang dapat diperluas tujuan tempat paket akan diteruskan.

Nilai kembali

Jika panggilan berhasil, fungsi akan mengembalikan NDIS_STATUS_SUCCESS. Jika tidak, kode kesalahan NDIS_STATUS_Xxx yang ditentukan dalam Ndis.h.

Keterangan

Ekstensi pengalihan yang dapat diperluas memanggil AddNetBufferListDestination untuk menentukan satu port tujuan sakelar yang dapat diperluas untuk paket. Ekstensi menentukan port ini dengan menginisialisasi struktur NDIS_SWITCH_PORT_DESTINATION . Ekstensi mengatur parameter Tujuan ke penunjuk ke struktur ini. Untuk informasi selengkapnya tentang cara menentukan port tujuan sakelar yang dapat diperluas, lihat Mengelola Data Port Tujuan Hyper-V Extensible Switch.

Catatan Untuk alasan performa, ekstensi tidak boleh memanggil paket AddNetBufferListDestination dengan beberapa port tujuan.
 
Ekstensi harus mengikuti panduan ini sebelum memanggil AddNetBufferListDestination:
  • Hanya ekstensi penerusan yang dapat memanggil AddNetBufferListDestination untuk menambahkan port tujuan untuk paket. Untuk informasi selengkapnya tentang jenis ekstensi ini, lihat Ekstensi Penerusan.
  • Jika ekstensi penerusan berasal dari paket dengan satu port tujuan, ekstensi harus terlebih dahulu memanggil fungsi AllocateNetBufferListForwardingContext . Fungsi ini mengalokasikan konteks penerusan sakelar yang dapat diperluas untuk paket. Data ini berisi sumber sakelar yang dapat diperluas dan port tujuan dalam informasi out-of-band (OOB) untuk paket.

    Untuk informasi selengkapnya tentang konteks ini, lihat Konteks Penerusan Sakelar Yang Dapat Diperluas Hyper-V.

  • Setelah ekstensi memodifikasi informasi port tujuan dalam struktur NDIS_SWITCH_PORT_DESTINATION , ekstensi memanggil AddNetBufferListDestination untuk menerapkan perubahan pada struktur NET_BUFFER_LIST untuk paket.
    Catatan Untuk alasan performa, ekstensi tidak boleh memanggil fungsi UpdateNetBufferListDestinations untuk menerapkan perubahan untuk paket.
     
Catatan Setelah ekstensi penerusan menerapkan perubahan untuk port tujuan ke konteks penerusan, 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

GetNetBufferListDestinations

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

UpdateNetBufferListDestinations