FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 콜백 함수(fwpsk.h)

필터 엔진은 vSwitchFilterEngineReorderNotifyRn (FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0) 설명선 함수를 호출하여 가상 스위치 필터 엔진 다시 정렬과 관련된 이벤트에 대해 설명선 드라이버에 알립니다.

FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 특정 버전의 FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK. 자세한 내용은 WFP Version-Independent 이름 및 특정 버전의 Windows 대상 지정 을 참조하세요.

구문

FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 FwpsVswitchFilterEngineReorderCallback0;

NTSTATUS FwpsVswitchFilterEngineReorderCallback0(
  [in, optional] void *notifyContext,
  [in]           void *completionContext,
  [in]           BOOLEAN isInRequiredPosition,
  [in]           const NDIS_ENUM_FILTERS *vSwitchExtensionLwfList
)
{...}

매개 변수

[in, optional] notifyContext

설명선 드라이버에서 제공하는 컨텍스트에 대한 포인터입니다. 드라이버는 FwpsvSwitchEventsSubscribe0 함수의 notifyContext 매개 변수에 이 포인터를 전달했습니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

[in] completionContext

설명선 드라이버에서 제공하는 완료 컨텍스트에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

[in] isInRequiredPosition

필터가 필터 스택의 필수 위치에 있으면 TRUE로 설정되고 그렇지 않으면 FALSE로 설정된 BOOLEAN 값입니다.

[in] vSwitchExtensionLwfList

가상 스위치 확장 NDIS 필터 드라이버 목록을 지정하는 NDIS_ENUM_FILTERS 구조체입니다.

반환 값

콜아웃의

FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS
설명선 드라이버는 필터 엔진의 알림을 수락합니다.
기타 상태 코드
오류가 발생했습니다.

설명

설명선 드라이버가 을 등록합니다.

vSwitchFilterEngineReorderNotifyRn 함수를 호출하여
FwpsvSwitchEventsSubscribe0 함수입니다.

기본적으로 WFP 가상 스위치 확장은 가상 스위치 수신 시 첫 번째 필터링 확장으로 배치됩니다. (따라서 가상 스위치 송신의 마지막 확장이기도 합니다.) WFP 확장은 다른 확장이 수신 시 패킷을 수정하기 전에 패킷을 가로챌 수 있기 때문에 일반적으로 가장 좋은 위치입니다. 또한 WFP 확장은 송신 시 모든 패킷 수정이 수행된 후 패킷을 가로챌 수 있습니다.

그러나 관리자는 동일한 클래스의 가상 스위치 확장을 다시 정렬할 수 있으므로 기본 위치에서 WFP 확장의 순서를 변경할 수 있습니다. 다시 정렬이 발생한 후 WFP 클라이언트의 필터를 바이패스할 수 있으며 조정해야 할 수 있습니다.

vSwitchFilterEngineReorderNotifyRn 콜백이 등록된 경우 가상 스위치 다시 정렬이 발생할 때 설명선 드라이버에 알림이 표시됩니다. 설명선 드라이버는 vSwitchExtensionLwfList 매개 변수에서 현재 가상 스위치 확장의 순서가 지정된 목록이 있는 NDIS_ENUM_FILTERS 구조를 받습니다.

가상 스위치 확장의 순서를 다시 지정하면 WFP 확장이 일시 중지되고( FilterPause 참조) 다시 시작됩니다( FilterRestart 참조). WFP 필터 FilterRestart 호출에서 WFP 필터 드라이버는 NdisEnumerateFilterModules 함수를 호출하여 가상 스위치 확장 필터의 정렬된 목록을 가져옵니다. WFP 확장이 기본 위치에 없는 경우 필터 드라이버는 콜아웃 드라이버에 알 수 있습니다.

설명선 드라이버는 vSwitchFilterEngineReorderNotifyRn에서 STATUS_PENDING 반환할 수 없습니다.

요구 사항

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

추가 정보

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

FilterPause

FilterRestart

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_ENUM_FILTERS

NdisEnumerateFilterModules

NdisFRestartComplete