다음을 통해 공유


FwpsFlowAssociateContext0 함수(fwpsk.h)

FwpsFlowAssociateContext0 함수는 설명선 드라이버 정의 컨텍스트를 데이터 흐름과 연결합니다.

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

통사론

NTSTATUS FwpsFlowAssociateContext0(
  [in] UINT64 flowId,
  [in] UINT16 layerId,
  [in] UINT32 calloutId,
  [in] UINT64 flowContext
);

매개 변수

[in] flowId

컨텍스트를 연결할 데이터 흐름을 지정하는 런타임 식별자입니다. 데이터 흐름의 런타임 식별자는 설명선 드라이버의 classifyFn 설명선 함수에 전달된 FWPS_METADATA_FIELD_FLOW_HANDLE 메타데이터 값을 통해 설명선 드라이버에 제공됩니다.

[in] layerId

컨텍스트가 연결된 필터링 계층에 대한 런타임 식별자입니다. 컨텍스트는 지정된 필터링 계층에만 연결됩니다. 자세한 내용은 런타임 필터링 계층 식별자를 참조하세요.

[in] calloutId

필터 엔진의 설명선에 대한 런타임 식별자입니다. 이 식별자는 설명선 드라이버가 FwpsCalloutRegister0, FwpsCalloutRegister1또는 FwpsCalloutRegister2 함수를 호출하여 콜아웃을 필터 엔진에 등록할 때 반환되었습니다.

[in] flowContext

데이터 흐름과 연결할 설명선 드라이버 정의 컨텍스트입니다. 이 매개 변수는 0이 아니어야 합니다. 이 컨텍스트는 필터 엔진에 불투명합니다.

반환 값

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

반환 코드 묘사
STATUS_SUCCESS
컨텍스트가 데이터 흐름과 성공적으로 연결되었습니다.
STATUS_INVALID PARAMETER
flowContext 매개 변수가 NULL 또는 calloutID 매개 변수에 지정된 설명선에 flowDeleteFn 등록되어 있지 않습니다.
STATUS_OBJECT_NAME_EXISTS
컨텍스트가 이미 데이터 흐름과 연결되어 있습니다. 이 경우 설명선 드라이버는 먼저 FwpsFlowRemoveContext0 함수를 호출하여 기존 컨텍스트를 제거한 다음 FwpsFlowAssociateContext0 함수를 다시 호출하여 새 컨텍스트를 데이터 흐름과 연결해야 합니다.
기타 상태 코드
오류가 발생했습니다.

발언

데이터 흐름을 필터링할 때 설명선 드라이버는 FwpsFlowAssociateContext0 함수를 호출하여 컨텍스트를 데이터 흐름과 연결할 수 있습니다. 그런 다음 이 컨텍스트를 사용하여 해당 데이터 흐름에 대한 설명선의 classifyFn 설명선 함수에 대한 필터 엔진의 호출 간에 드라이버별 데이터 또는 상태 정보를 유지할 수 있습니다.

flowDeleteFn 설명선 함수를 등록한 layerId 매개 변수로 식별되는 계층의 필터 엔진에 설명선이 있어야 합니다. 그렇지 않으면 FwpsFlowAssociateContext0 함수에 대한 호출은 STATUS_INVALID_PARAMETER 반환합니다. 필터 엔진은 흐름이 종료될 때 flowDeleteFn 호출하여 설명선 드라이버가 흐름과 연결된 컨텍스트를 정리할 수 있도록 합니다.

동일한 흐름에 대해 FwpsFlowAssociateContext0 여러 번 호출할 수 있습니다. 각 호출에서 다른 설명선과 다른 컨텍스트(추가된 설명선당 하나의 컨텍스트)를 지정해야 합니다.

FwpsFlowAssociateContext0 함수는 단일 컨텍스트를 추가된 단일 설명선과 연결합니다.

여러 컨텍스트를 흐름과 연결할 수 있습니다. 그러나 각 컨텍스트는 다른 설명선과 연결되어야 합니다. 새 설명선은 이전 설명선과 동일한 계층 또는 다른 계층에 있을 수 있습니다.

자세한 내용 및 샘플 코드는 컨텍스트를 데이터 흐름 Windows 필터링 플랫폼 샘플 참조하세요.

요구 사항

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

참고 항목

컨텍스트를 데이터 흐름 연결

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsCalloutRegister2

FwpsFlowRemoveContext0

Windows 필터링 플랫폼 샘플

classifyFn

flowDeleteFn