FWPS_CALLOUT2 구조체(fwpsk.h)
FWPS_CALLOUT2 구조는 설명선 드라이버가 필터 엔진에 설명선 등록에 필요한 데이터를 정의합니다.
구문
typedef struct FWPS_CALLOUT2_ {
GUID calloutKey;
UINT32 flags;
FWPS_CALLOUT_CLASSIFY_FN2 classifyFn;
FWPS_CALLOUT_NOTIFY_FN2 notifyFn;
FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT2;
멤버
calloutKey
설명선 을 고유하게 식별하는 설명선 드라이버 정의 GUID 입니다.
flags
설명선별 매개 변수를 지정하는 플래그입니다. 가능한 플래그는 다음과 같습니다.
값 | 의미 |
---|---|
|
설명선 드라이버는 데이터 흐름을 지원하는 계층에 추가될 설명선 등록 시 이 플래그를 지정할 수 있습니다. 이 플래그를 지정하면 필터 엔진은 데이터 흐름과 연결된 컨텍스트가 있는 경우에만 설명선 드라이버의 classifyFn2 설명선 함수를 호출합니다. 설명선 드라이버는 FwpsFlowAssociateContext0 함수를 호출하여 컨텍스트를 데이터 흐름과 연결합니다. |
|
콜아웃 드라이버는 이 플래그를 지정하여 콜아웃 드라이버의 classifyFn2 콜아웃 함수가 네트워크 데이터 처리를 오프로드 가능 NIC(네트워크 인터페이스 카드)로 오프로드하여 영향을 받지 않음을 나타냅니다. 이 플래그를 지정하지 않으면 필터 작업에 대한 설명선이 지정되는 필터에서 처리되는 모든 트래픽에 대해 네트워크 데이터 처리의 오프로드가 비활성화됩니다. |
|
설명선 드라이버는 트랜잭션 내에 추가된 개체 및 필터에 대한 알림을 받을 수 있음을 나타내기 위해 이 플래그를 지정합니다. 필터 엔진은 트랜잭션이 커밋된 후 알림을 보냅니다. |
|
설명선 드라이버는 스트림 수준에서 데이터 흐름의 동적 스트림 검사를 수행할 수 있음을 나타내기 위해 이 플래그를 지정합니다. Stream 검사를 참조하세요. |
|
콜아웃 드라이버는 기존 소켓 작업이 다시 분류될 때 호출되도록 자신을 등록하도록 이 플래그를 지정합니다. |
|
시스템에서 사용하도록 예약되었습니다. 콜아웃 드라이버는 이 플래그를 무시해야 합니다. |
|
설명선 드라이버는 설명선이 최대 64K의 큰 패킷으로 TCP 수신 세그먼트 병합(RSC)을 지원함을 나타내기 위해 이 플래그를 지정합니다. 이 플래그를 지정하지 않고 설명선이 등록된 경우 필터 작업에 대한 설명선이 지정되는 필터에서 처리되는 모든 트래픽에 대해 RSC가 비활성화됩니다. |
|
callout 드라이버는 계층 2에 추가될 콜아웃을 등록할 때 이 플래그를 지정하여 classifyFn2 콜아웃 함수가 연결된 여러 NET_BUFFER_LIST 구조를 분류할 수 있음을 나타냅니다. 자세한 내용은 레이어 2 필터링 사용을 참조하세요.
주의
설명선 드라이버가 이 플래그를 설정하는 경우 다음 함수를 사용하여 NET_BUFFER_LISTs 수정할 수 없습니다.
이 플래그를 설정하면 FwpsAllocateCloneNetBufferList0 은 항상 INVALID_PARAMETER 오류를 반환합니다. 이로 인해 예기치 않게 타사 설명선 드라이버가 NET_BUFFER_LISTs 참조 수를 관리하지 못하여 송신 및 수신 작업이 중지될 수 있습니다. |
|
설명선 드라이버는 설명선이 네트워크 매체의 MTU보다 큰 패킷이 있는 UDP 구분 오프로드(USO)를 지원함을 나타내기 위해 이 플래그를 지정합니다. 이 플래그를 지정하지 않고 설명선이 등록된 경우 필터 작업에 대한 설명선이 지정되는 필터에서 처리되는 모든 트래픽에 대해 USO가 비활성화됩니다. 참고: 이 플래그가 지원되는 가장 빠른 버전은 Windows Insider Preview 버전 10.0.25876입니다. |
|
설명선 드라이버는 설명선이 최대 64K의 큰 패킷이 있는 URO(UDP 수신 오프로드)를 지원함을 나타내기 위해 이 플래그를 지정합니다. 이 플래그를 지정하지 않고 설명선이 등록된 경우 필터 작업에 대한 설명선이 지정되는 필터에서 처리되는 모든 트래픽에 대해 URO가 비활성화됩니다. 참고: 이 플래그를 지정하면 설명선이 인바운드 URO 패킷을 복제하고 다시 내보내지 않아야 합니다. |
classifyFn
콜아웃 드라이버의 classifyFn2 콜아웃 함수에 대한 포인터입니다. 필터 엔진은 콜아웃에서 처리할 네트워크 데이터가 있을 때마다 이 함수를 호출합니다.
notifyFn
콜아웃 드라이버의 notifyFn2 함수에 대한 포인터입니다. 필터 엔진은 이 함수를 호출하여 콜아웃 드라이버에 콜아웃과 연결된 이벤트에 대해 알립니다.
flowDeleteFn
콜아웃 드라이버의 flowDeleteFn 콜아웃 함수에 대한 포인터입니다. 필터 엔진은 콜아웃에서 처리되는 데이터 흐름이 종료될 때마다 이 함수를 호출합니다.
설명선 드라이버가 설명선이 처리하는 데이터 흐름과 컨텍스트를 연결하지 않으면 이 멤버를 NULL로 설정해야 합니다.
설명
설명선 드라이버는 필터 엔진에 설명선이 등록될 때 초기화된 FWPS_CALLOUT2 구조체에 대한 포인터를 FwpsCalloutRegister2 함수에 전달합니다.
설명선은 드라이버가 스트림 검사를 수행하는 데 관심이 있는 연결에 대해서만 FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW 플래그를 설정할 수 있습니다. 이 설명선은 다른 모든 연결에서 무시됩니다. 성능이 향상되고 드라이버가 불필요한 상태 데이터를 유지할 필요가 없습니다.
이 구조체는 기본적으로 이전 버전과 동일하며 , FWPS_CALLOUT1. 유일한 차이점은 이 버전의 멤버가 설명선 함수 포인터의 업데이트된 버전을 저장하고 설명선 드라이버가 설정할 수 있는 추가 플래그를 사용할 수 있다는 것입니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 사용하여 사용할 수 있습니다. |
머리글 | fwpsk.h(Fwpsk.h 포함) |