Bagikan melalui


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.

Catatan Jika parameter NetBufferList berisi penunjuk ke daftar tertaut dari beberapa struktur NET_BUFFER_LIST , port tujuan hanya dikembalikan dari struktur NET_BUFFER_LIST pertama dalam daftar.
 

[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:

Catatan Struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY dijamin valid sementara ekstensi mempertahankan kepemilikan struktur NET_BUFFER_LIST 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

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers