NDIS_SWITCH_OPTIONAL_HANDLERS 구조체(ndis.h)

NDIS_SWITCH_OPTIONAL_HANDLERS 구조체는 Hyper-V 확장 가능한 스위치 처리기 함수에 대한 포인터를 지정합니다. 이러한 함수는 확장 가능한 스위치 확장에서 호출할 수 있습니다.

구문

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;

멤버

Header

NDIS_SWITCH_OPTIONAL_HANDLERS 구조체의 형식, 수정 버전 및 크기입니다. 이 멤버는 NDIS_OBJECT_HEADER 구조체로 형식이 지정됩니다.

헤더Type 멤버를 NDIS_OBJECT_TYPE_DEFAULT 설정해야 합니다. NDIS_SWITCH_OPTIONAL_HANDLERS 구조체의 버전을 지정하려면 HeaderRevision 멤버를 다음 값으로 설정해야 합니다.

NDIS_SWITCH_OPTIONAL_HANDLERS_REVISION_1

NDIS 6.30 이상에 대한 원래 버전입니다.

Size 멤버를 NDIS_SIZEOF_NDIS_SWITCH_NIC_ARRAY_REVISION_1 설정합니다.

AllocateNetBufferListForwardingContext

AllocateNetBufferListForwardingContext 함수에 대한 포인터입니다.

FreeNetBufferListForwardingContext

FreeNetBufferListForwardingContext 함수에 대한 포인터입니다.

SetNetBufferListSource

SetNetBufferListSource 함수에 대한 포인터입니다.

AddNetBufferListDestination

AddNetBufferListDestination 함수에 대한 포인터입니다.

GrowNetBufferListDestinations

GrowNetBufferListDestinations 함수에 대한 포인터입니다.

GetNetBufferListDestinations

GetNetBufferListDestinations 함수에 대한 포인터입니다.

UpdateNetBufferListDestinations

UpdateNetBufferListDestinations 함수에 대한 포인터입니다.

CopyNetBufferListInfo

CopyNetBufferListInfo 함수에 대한 포인터입니다.

ReferenceSwitchNic

ReferenceSwitchNic 함수에 대한 포인터입니다.

DereferenceSwitchNic

DereferenceSwitchNic 함수에 대한 포인터입니다.

ReferenceSwitchPort

ReferenceSwitchPort 함수에 대한 포인터입니다.

DereferenceSwitchPort

DereferenceSwitchPort 함수에 대한 포인터입니다.

ReportFilteredNetBufferLists

ReportFilteredNetBufferLists 함수에 대한 포인터입니다.

SetNetBufferListSwitchContext

GetNetBufferListSwitchContext

SwitchPDReserved[NDIS_SWITCH_OPTIONAL_HANDLERS_PD_RESERVED_SIZE]

설명

확장 가능한 스위치 처리기 함수는 확장 가능한 스위치 확장에서 수행하는 필터링 및 전달 작업을 지원합니다. 이러한 작업은 다음과 같습니다.

  • 전달 컨텍스트를 할당하거나 해제합니다. 이 데이터는 패킷의 NET_BUFFER_LIST 구조의 OOB(대역 외) 데이터에 저장됩니다. 전달 컨텍스트에 대한 자세한 내용은 Hyper-V 확장 가능한 전환 전달 컨텍스트를 참조하세요.
  • 패킷의 전달 컨텍스트에 포함된 대상 포트를 가져오기 또는 설정합니다.
  • 패킷의 전달 컨텍스트에 대상 포트를 추가합니다.

확장 가능한 스위치 확장이 NdisFGetOptionalSwitchHandlers를 호출하면 NdisSwitchHandlers 매개 변수에 NDIS_SWITCH_OPTIONAL_HANDLERS 구조체에 대한 포인터가 포함됩니다. 확장 가능한 스위치 확장은 일반적으로 FilterAttach 함수에서 NdisFGetOptionalSwitchHandlers를 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.30 이상에서 지원됩니다.
머리글 ndis.h(Ndis.h 포함)

추가 정보

AddNetBufferListDestination

AllocateNetBufferListForwardingContext

CopyNetBufferListInfo

DereferenceSwitchNic

DereferenceSwitchPort

FilterAttach

FreeNetBufferListForwardingContext

GrowNetBufferListDestinations

NDIS_OBJECT_HEADER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

ReferenceSwitchNic

ReferenceSwitchPort

ReportFilteredNetBufferLists

SetNetBufferListSource

UpdateNetBufferListDestinations