FwpsInjectvSwitchEthernetIngressAsync0 함수(fwpsk.h)
FwpsInjectvSwitchEthernetIngressAsync0(FwpsInjectvSwitchIngressAsync0) 함수는 이전에 흡수된 가상 스위치 패킷(수정되지 않음)을 가로채는 가상 스위치 수신 데이터 경로로 다시 재제출합니다. 이 함수는 FwpsAllocateNetBufferAndNetBufferList0 함수를 사용하여 만든 패킷을 삽입할 수도 있습니다.
구문
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 코드 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
가상 스위치 NET_BUFFER_LIST 체인이 성공적으로 삽입되었습니다. |
|
오류가 발생했습니다. |
설명
설명선이 FwpsInjectvSwitchEthernetIngressAsync0으로 패킷을 삽입하는 경우 패킷이 원래 분류된 것과 동일한 필터와 일치하는 경우 삽입된 패킷을 다시 분류할 수 있습니다. 따라서 IP 계층의 설명선과 마찬가지로 가상 스위치 설명선은 FwpsQueryPacketInjectionState0 함수를 호출하여 무한 패킷 검사로부터 보호해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 시작해서 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | fwpsk.h(Fwpsk.h 포함) |
라이브러리 | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |
추가 정보
FwpsAllocateNetBufferAndNetBufferList0