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 |