FWPS_INJECT_COMPLETE0 콜백 함수(fwpsk.h)

필터 엔진은 패킷 삽입 함수 중 하나에서 netBufferList 매개 변수에 설명된 패킷 데이터가 네트워크 스택에 삽입될 때마다 설명선의 completionFn 설명선 함수를 호출합니다.

구문

FWPS_INJECT_COMPLETE0 FwpsInjectComplete0;

void FwpsInjectComplete0(
  [in]      void *context,
  [in, out] NET_BUFFER_LIST *netBufferList,
  [in]      BOOLEAN dispatchLevel
)
{...}

매개 변수

[in] context

설명선 드라이버에서 호출한 패킷 삽입 함수 중 하나의 completionContext 매개 변수에 대한 포인터입니다.

[in, out] netBufferList

설명선 드라이버에서 호출한 패킷 삽입 함수 중 하나의 netBufferList 매개 변수에 전달된 포인터입니다.

[in] dispatchLevel

completionFn callout 함수가 호출되는 IRQL을 나타내는 값입니다. 이 매개 변수가 TRUE이면 completionFn 설명선 함수가 IRQL = DISPATCH_LEVEL 호출됩니다. 이 매개 변수가 FALSE이면 IRQL < DISPATCH_LEVEL completionFn 콜아웃 함수가 호출됩니다.

반환 값

없음

설명

FWPS_INJECT_COMPLETE0 형식은 다음과 같이 completionFn 함수에 대한 포인터로 정의됩니다.

typedef void (NTAPI *FWPS_INJECT_COMPLETE0) completionFn

NetBufferList가 가리키는 NET_BUFFER_LIST 구조체의 Status 멤버는 삽입 작업의 결과를 나타냅니다.

복제되거나 생성된 NET_BUFFER_LIST 구조체 체인의 패킷 데이터가 패킷 삽입 함수 중 하나에 의해 네트워크 스택에 성공적으로 삽입된 후 completionFn 이 호출됩니다.

FwpsStreamInjectAsync0 함수를 호출하여 NET_BUFFER_LIST 구조체 체인을 삽입하는 경우 FwpsStreamInjectAsync0에 지정된 동일한 completionContext 매개 변수를 사용할 때마다 체인의 각 NET_BUFFER_LIST 대해 completionFn이 한 번 호출됩니다. 이 경우 설명선 드라이버의 completionFn 구현은 FwpsFreeCloneNetBufferList0 을 호출하여 현재 표시된 NET_BUFFER_LIST 해제해야 합니다.

필터 엔진은 IRQL <= DISPATCH_LEVEL 콜아웃의 completionFn 콜아웃 함수를 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista부터 사용할 수 있습니다.
대상 플랫폼 Windows
헤더 fwpsk.h(Fwpsk.h 포함)
IRQL <= DISPATCH_LEVEL

추가 정보

설명선 드라이버 설명선 함수

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsFreeCloneNetBufferList0

FwpsInjectionHandleCreate0

FwpsInjectionHandleDestroy0

FwpsStreamInjectAsync0

NET_BUFFER_LIST

패킷 삽입 함수