Share via


FwpsInjectvSwitchEthernetIngressAsync0 함수(fwpsk.h)

FwpsInjectvSwitchEthernetIngressAsync0(FwpsInjectvSwitchIngressAsync0) 함수는 이전에 흡수된 가상 스위치 패킷(수정되지 않음)을 가로채는 가상 스위치 수신 데이터 경로로 다시 재제출합니다. 이 함수는 FwpsAllocateNetBufferAndNetBufferList0 함수를 사용하여 만든 패킷을 삽입할 수도 있습니다.

참고FwpsInjectvSwitchEthernetIngressAsync0특정 버전의 FwpsInjectvSwitchEthernetIngressAsync입니다. 자세한 내용은 WFP Version-Independent 이름 및 특정 버전의 Windows 대상 지정 을 참조하세요.
 

구문

NTSTATUS FwpsInjectvSwitchEthernetIngressAsync0(
  [in]           HANDLE                injectionHandle,
  [in, optional] HANDLE                injectionContext,
  [in]           UINT32                flags,
  [in, optional] void                  *reserved,
  [in]           const FWP_BYTE_BLOB   *vSwitchId,
  [in]           NDIS_SWITCH_PORT_ID   vSwitchSourcePortId,
  [in]           NDIS_SWITCH_NIC_INDEX vSwitchSourceNicIndex,
                 NET_BUFFER_LIST       *netBufferLists,
  [in]           FWPS_INJECT_COMPLETE  completionFn,
  [in, optional] HANDLE                completionContext
);

매개 변수

[in] injectionHandle

flags 매개 변수가 FWPS_INJECTION_TYPE_L2 설정된 FwpsInjectionHandleCreate0 함수를 호출하여 이전에 만든 삽입 핸들입니다.

addressFamily 매개 변수는 사용되지 않으며 AF_UNSPEC 설정해야 합니다.

[in, optional] injectionContext

FwpsQueryPacketInjectionState0 함수를 사용하여 검색할 수 있는 삽입 컨텍스트에 대한 선택적 핸들입니다.

[in] flags

예약되어 있습니다. 0으로 설정해야 합니다.

[in, optional] reserved

예약되어 있습니다. NULL로 설정해야 합니다.

[in] vSwitchId

필터링 엔진이 FWPS_INCOMING_VALUES0 구조에서 설명선 드라이버의 classifyFn 설명선 함수에 전달한 가상 스위치 식별자입니다. xxx_VSWITCH_ID 필드에 제공되는 가상 스위치의 GUID 입니다.

[in] vSwitchSourcePortId

가상 스위치 원본 포트 식별자입니다.

[in] vSwitchSourceNicIndex

가상 스위치 원본 NIC 인덱스입니다.

netBufferLists

가상 스위치 송신 데이터 경로에 삽입할 NET_BUFFER_LIST 구조체 체인입니다.

[in] completionFn

콜아웃 드라이버에서 제공하는 completionFn 콜아웃 함수에 대한 포인터입니다. 필터 엔진은 netBufferLists 매개 변수의 패킷 데이터가 가상 스위치 송신 데이터 경로에 삽입된 후 이 함수를 호출합니다. completionFn 함수는 체인의 각 NET_BUFFER_LIST 대해 한 번 호출됩니다. cloned 또는 created NET_BUFFER_LIST 구조체를 삽입할 때 completionFn을 지정해야 합니다. 필터 엔진에서 받은 원래의 변경할 수 없는 NET_BUFFER_LIST 구조를 삽입할 때 이 매개 변수는 NULL일 수 있습니다.

[in, optional] completionContext

completionFn 매개 변수가 가리키는 설명선 함수에 전달되는 설명선 드라이버 제공 컨텍스트에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

반환 값

FwpsInjectvSwitchEthernetIngressAsync0 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS
가상 스위치 NET_BUFFER_LIST 체인이 성공적으로 삽입되었습니다.
기타 상태 코드
오류가 발생했습니다.

설명

설명선이 FwpsInjectvSwitchEthernetIngressAsync0으로 패킷을 삽입하는 경우 패킷이 원래 분류된 것과 동일한 필터와 일치하는 경우 삽입된 패킷을 다시 분류할 수 있습니다. 따라서 IP 계층의 설명선과 마찬가지로 가상 스위치 설명선은 FwpsQueryPacketInjectionState0 함수를 호출하여 무한 패킷 검사로부터 보호해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 시작해서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 fwpsk.h(Fwpsk.h 포함)
라이브러리 Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

추가 정보

FWPS_INCOMING_VALUES0

FwpsAllocateNetBufferAndNetBufferList0

FwpsInjectionHandleCreate0

FwpsQueryPacketInjectionState0

NET_BUFFER_LIST

completionFn