FWPS_CALLOUT3 구조체(fwpsk.h)
FWPS_CALLOUT3 구조는 설명선 드라이버가 필터 엔진에 설명선 등록에 필요한 데이터를 정의합니다.
통사론
typedef struct FWPS_CALLOUT3_ {
GUID calloutKey;
UINT32 flags;
FWPS_CALLOUT_CLASSIFY_FN3 classifyFn;
FWPS_CALLOUT_NOTIFY_FN3 notifyFn;
FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT3;
회원
calloutKey
설명선 드라이버를 고유하게 식별하는 설명선 드라이버 정의 GUID.
flags
설명선별 매개 변수를 지정하는 플래그입니다. 가능한 플래그는 다음과 같습니다.
값 | 의미 |
---|---|
FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW 0x00000001 |
설명선 드라이버는 데이터 흐름을 지원하는 계층에 추가될 설명선 등록 시 이 플래그를 지정할 수 있습니다. 이 플래그를 지정하면 필터 엔진은 데이터 흐름과 연결된 컨텍스트가 있는 경우에만 설명선 드라이버의 classifyFn3 설명선 함수를 호출합니다. 설명선 드라이버는 FwpsFlowAssociateContext0 함수를 호출하여 컨텍스트를 데이터 흐름과 연결합니다. |
FWP_CALLOUT_FLAG_ALLOW_OFFLOAD 0x00000002 |
설명선 드라이버는 설명선 드라이버의 classifyFn3 설명선 함수가 네트워크 데이터 처리를 오프로드할 수 있는 NIC(네트워크 인터페이스 카드)로 오프로드하여 영향을 받지 않음을 나타내기 위해 이 플래그를 지정합니다. 이 플래그를 지정하지 않으면 필터 작업에 대한 설명선이 지정되는 필터에서 처리되는 모든 트래픽에 대해 네트워크 데이터 처리의 오프로드가 비활성화됩니다. |
FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY 0x00000004 |
설명선 드라이버는 트랜잭션 내에 추가된 개체 및 필터에 대한 알림을 받을 수 있음을 나타내기 위해 이 플래그를 지정합니다. 필터 엔진은 트랜잭션이 커밋된 후 알림을 보냅니다. |
FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION 0x00000008 |
설명선 드라이버는 스트림 수준에서 데이터 흐름의 동적 스트림 검사를 수행할 수 있음을 나타내기 위해 이 플래그를 지정합니다. 스트림 검사 |
FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY 0x00000010 |
설명선 드라이버는 기존 소켓 작업이 다시 분류될 때 호출되도록 등록하기 위해 이 플래그를 지정합니다. |
FWP_CALLOUT_FLAG_RESERVED1 0x00000020 |
시스템 사용을 위해 예약되어 있습니다. 설명선 드라이버는 이 플래그를 무시해야 합니다. |
FWP_CALLOUT_FLAG_ALLOW_RSC 0x00000040 |
설명선 드라이버는 설명선이 최대 64K의 큰 패킷으로 TCP 수신 세그먼트 병합(RSC)을 지원함을 나타내기 위해 이 플래그를 지정합니다. 이 플래그를 지정하지 않고 설명선이 등록된 경우 필터 작업에 대한 설명선이 지정되는 필터에서 처리되는 모든 트래픽에 대해 RSC가 비활성화됩니다. |
FWP_CALLOUT_FLAG_ALLOW_L2_BATCH_CLASSIFY 0x00000080 |
설명선 드라이버는 계층 2에 추가될 설명선 등록 시 이 플래그를 지정하여 classifyFn3 설명선 함수가 연결된 여러 NET_BUFFER_LIST 구조를 분류할 수 있음을 나타냅니다. 자세한 내용은 레이어 2 필터링사용하는 주의: 설명선 드라이버가 이 플래그를 설정하는 경우 다음 함수를 사용하여 NET_BUFFER_LISTs 수정할 수 없습니다. • FwpsReferenceNetBufferList0 • FwpsDereferenceNetBufferList0 • FwpsAllocateCloneNetBufferList0 • FwpsFreeCloneNetBufferList0 이 플래그를 설정하면 FwpsAllocateCloneNetBufferList0 항상 INVALID_PARAMETER 오류를 반환합니다. 이로 인해 타사 설명선 드라이버가 NET_BUFFER_LISTs 참조 수를 관리하지 못해 송신 및 수신 작업이 중지될 수 있습니다. |
FWP_CALLOUT_FLAG_ALLOW_USO 0x00000100 |
설명선 드라이버는 이 플래그를 지정하여 설명선이 네트워크 매체의 MTU보다 큰 패킷이 있는 UDP USO(세그먼트 오프로드)를 지원함을 나타냅니다. 이 플래그를 지정하지 않고 설명선이 등록된 경우 필터 작업에 대한 설명선이 지정되는 필터에서 처리되는 모든 트래픽에 대해 USO가 비활성화됩니다. 참고: 이 플래그가 지원되는 가장 빠른 버전은 Windows Insider Preview 버전 10.0.25876입니다. |
FWP_CALLOUT_FLAG_ALLOW_URO 0x00000200 |
설명선 드라이버는 설명선이 최대 64K의 큰 패킷으로 URO(UDP 수신 오프로드)를 지원함을 나타내기 위해 이 플래그를 지정합니다. 이 플래그를 지정하지 않고 설명선이 등록된 경우 필터 작업에 대한 설명선이 지정되는 필터에서 처리되는 모든 트래픽에 대해 URO를 사용할 수 없습니다. 참고: 이 플래그를 지정하면 설명선이 인바운드 URO 패킷을 복제하고 다시 내보내지 않아야 합니다. |
classifyFn
설명선 드라이버의 classifyFn3 설명선 함수에 대한 포인터입니다. 필터 엔진은 설명선에서 처리할 네트워크 데이터가 있을 때마다 이 함수를 호출합니다.
notifyFn
설명선 드라이버의 notifyFn3 함수에 대한 포인터입니다. 필터 엔진은 이 함수를 호출하여 설명선 드라이버에 설명선과 연결된 이벤트에 대해 알립니다.
flowDeleteFn
설명선 드라이버의 flowDeleteFn 설명선 함수에 대한 포인터입니다. 필터 엔진은 설명선에서 처리 중인 데이터 흐름이 종료될 때마다 이 함수를 호출합니다.
설명선 드라이버가 설명선이 처리하는 데이터 흐름과 컨텍스트를 연결하지 않으면 이 멤버를 NULL로 설정해야 합니다.
발언
설명선 드라이버는 필터 엔진에 설명선 등록 시 초기화된 FWPS_CALLOUT3 구조체에 대한 포인터를 FwpsCalloutRegister3 함수에 전달합니다.
설명선은 드라이버가 스트림 검사를 수행하는 데 관심이 있는 연결에 대해서만 FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW 플래그를 설정할 수 있습니다. 이 설명선은 다른 모든 연결에서 무시됩니다. 성능이 향상되고 드라이버는 불필요한 상태 데이터를 유지할 필요가 없습니다.
FWPS_CALLOUT3 특정 버전의 FWPS_CALLOUT. 자세한 내용은 WFP Version-Independent 이름 및 특정 버전의 Windows 대상으로 지정을 참조하세요.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8부터 사용할 수 있습니다. |
헤더 | fwpsk.h |
참고 항목
- FWPS_CALLOUT0
- FWPS_CALLOUT1
- FWPS_CALLOUT2
- FwpsCalloutRegister3
- classifyFn3
- flowDeleteFn
- notifyFn3
- 계층 2 필터링 사용하여