struktur NDIS_SWITCH_OPTIONAL_HANDLERS (ndis.h)

Struktur NDIS_SWITCH_OPTIONAL_HANDLERS menentukan penunjuk ke fungsi handler sakelar hyper-V yang dapat diperluas. Fungsi-fungsi ini dapat dipanggil oleh ekstensi sakelar yang dapat diperluas.

Sintaks

typedef struct _NDIS_SWITCH_OPTIONAL_HANDLERS {
  NDIS_OBJECT_HEADER                                              Header;
  NDIS_SWITCH_ALLOCATE_NET_BUFFER_LIST_FORWARDING_CONTEXT_HANDLER AllocateNetBufferListForwardingContext;
  NDIS_SWITCH_FREE_NET_BUFFER_LIST_FORWARDING_CONTEXT_HANDLER     FreeNetBufferListForwardingContext;
  NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE_HANDLER                  SetNetBufferListSource;
  NDIS_SWITCH_ADD_NET_BUFFER_LIST_DESTINATION_HANDLER             AddNetBufferListDestination;
  NDIS_SWITCH_GROW_NET_BUFFER_LIST_DESTINATIONS_HANDLER           GrowNetBufferListDestinations;
  NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS_HANDLER            GetNetBufferListDestinations;
  NDIS_SWITCH_UPDATE_NET_BUFFER_LIST_DESTINATIONS_HANDLER         UpdateNetBufferListDestinations;
  NDIS_SWITCH_COPY_NET_BUFFER_LIST_INFO_HANDLER                   CopyNetBufferListInfo;
  NDIS_SWITCH_REFERENCE_SWITCH_NIC_HANDLER                        ReferenceSwitchNic;
  NDIS_SWITCH_DEREFERENCE_SWITCH_NIC_HANDLER                      DereferenceSwitchNic;
  NDIS_SWITCH_REFERENCE_SWITCH_PORT_HANDLER                       ReferenceSwitchPort;
  NDIS_SWITCH_DEREFERENCE_SWITCH_PORT_HANDLER                     DereferenceSwitchPort;
  NDIS_SWITCH_REPORT_FILTERED_NET_BUFFER_LISTS_HANDLER            ReportFilteredNetBufferLists;
  NDIS_SWITCH_SET_NET_BUFFER_LIST_SWITCH_CONTEXT_HANDLER          SetNetBufferListSwitchContext;
  NDIS_SWITCH_GET_NET_BUFFER_LIST_SWITCH_CONTEXT_HANDLER          GetNetBufferListSwitchContext;
  PVOID                                                           SwitchPDReserved[NDIS_SWITCH_OPTIONAL_HANDLERS_PD_RESERVED_SIZE];
} NDIS_SWITCH_OPTIONAL_HANDLERS, *PNDIS_SWITCH_OPTIONAL_HANDLERS;

Anggota

Header

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

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

NDIS_SWITCH_OPTIONAL_HANDLERS_REVISION_1

Versi asli untuk NDIS 6.30 dan yang lebih baru.

Atur anggota Ukuran ke NDIS_SIZEOF_NDIS_SWITCH_NIC_ARRAY_REVISION_1.

AllocateNetBufferListForwardingContext

Penunjuk ke fungsi AllocateNetBufferListForwardingContext .

FreeNetBufferListForwardingContext

Penunjuk ke fungsi FreeNetBufferListForwardingContext .

SetNetBufferListSource

Penunjuk ke fungsi SetNetBufferListSource .

AddNetBufferListDestination

Penunjuk ke fungsi AddNetBufferListDestination .

GrowNetBufferListDestinations

Penunjuk ke fungsi GrowNetBufferListDestinations .

GetNetBufferListDestinations

Penunjuk ke fungsi GetNetBufferListDestinations .

UpdateNetBufferListDestinations

Penunjuk ke fungsi UpdateNetBufferListDestinations .

CopyNetBufferListInfo

Penunjuk ke fungsi CopyNetBufferListInfo .

ReferenceSwitchNic

Penunjuk ke fungsi ReferenceSwitchNic .

DereferenceSwitchNic

Penunjuk ke fungsi DereferenceSwitchNic .

ReferenceSwitchPort

Penunjuk ke fungsi ReferenceSwitchPort .

DereferenceSwitchPort

Penunjuk ke fungsi DereferenceSwitchPort .

ReportFilteredNetBufferLists

Penunjuk ke fungsi ReportFilteredNetBufferLists .

SetNetBufferListSwitchContext

GetNetBufferListSwitchContext

SwitchPDReserved[NDIS_SWITCH_OPTIONAL_HANDLERS_PD_RESERVED_SIZE]

Keterangan

Fungsi handler sakelar yang dapat diperluas memberikan dukungan untuk tindakan pemfilteran dan penerusan yang dilakukan oleh ekstensi sakelar yang dapat diperluas. Tindakan ini mencakup hal-hal berikut:

  • Mengalokasikan atau membebaskan konteks penerusan. Data ini disimpan dalam data out-of-band (OOB) dari struktur NET_BUFFER_LIST paket. Untuk informasi selengkapnya tentang konteks penerusan, lihat Konteks Penerusan Sakelar Yang Dapat Diperluas Hyper-V.
  • Dapatkan atau atur port tujuan yang terkandung dalam konteks penerusan paket.
  • Tambahkan port tujuan ke konteks penerusan paket.

Ketika ekstensi sakelar yang dapat diperluas memanggil NdisFGetOptionalSwitchHandlers, parameter NdisSwitchHandlers berisi penunjuk ke struktur NDIS_SWITCH_OPTIONAL_HANDLERS . Ekstensi sakelar yang dapat diperluas biasanya memanggil NdisFGetOptionalSwitchHandlers dari fungsi FilterAttach-nya .

Persyaratan

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

Lihat juga

AddNetBufferListDestination

AllocateNetBufferListForwardingContext

CopyNetBufferListInfo

DereferensiSwitchNic

DereferenceSwitchPort

FilterAttach

FreeNetBufferListForwardingContext

GrowNetBufferListDestinations

NDIS_OBJECT_HEADER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

ReferenceSwitchNic

ReferenceSwitchPort

ReportFilteredNetBufferLists

SetNetBufferListSource

UpdateNetBufferListDestinations