FwpsCloneStreamData0 함수(fwpsk.h)

FwpsCloneStreamData0 함수는 기존 FWPS_STREAM_DATA0 데이터 스트림의 복제본을 할당합니다.

참고FwpsCloneStreamData0특정 버전의 FwpsCloneStreamData입니다. 자세한 내용은 WFP Version-Independent 이름 및 특정 버전의 Windows 대상 지정 을 참조하세요.
 

구문

NTSTATUS FwpsCloneStreamData0(
  [in, out]      FWPS_STREAM_DATA0 *calloutStreamData,
  [in, optional] NDIS_HANDLE       netBufferListPoolHandle,
  [in, optional] NDIS_HANDLE       netBufferPoolHandle,
  [in]           ULONG             allocateCloneFlags,
  [out]          NET_BUFFER_LIST   **netBufferListChain
);

매개 변수

[in, out] calloutStreamData

NET_BUFFER_LIST 구조체 를 복제하는 원래 FWPS_STREAM_DATA0 구조체에 대한 포인터입니다.

[in, optional] netBufferListPoolHandle

NdisAllocateNetBufferListPool 함수에 대한 이전 호출에서 가져온 NET_BUFFER_LIST 풀 핸들입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

[in, optional] netBufferPoolHandle

에 대한 이전 호출에서 가져온 NET_BUFFER 풀 핸들 NdisAllocateNetBufferPool 함수입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

[in] allocateCloneFlags

현재 이 함수에 대해 정의된 플래그가 없습니다. 콜아웃 드라이버는 이 매개 변수를 0으로 설정해야 합니다.

[out] netBufferListChain

복제된 모든 스트림 데이터를 설명하는 NET_BUFFER_LIST 구조체 체인에 대한 포인터를 수신하는 위치에 대한 포인터입니다.

반환 값

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

반환 코드 설명
STATUS_SUCCESS
복제본 FWPS_STREAM_DATA0 구조체가 성공적으로 할당되었습니다.
기타 상태 코드
오류가 발생했습니다.

설명

이 복제된 스트림 데이터는 나중에 콜아웃 드라이버가 TCP/IP 네트워크 스택에 삽입할 수 있습니다.

FwpsCloneStreamData0 함수는 기존 FWPS_STREAM_DATA0 데이터 스트림에 포함된 NET_BUFFER_LIST 구조체의 전체 체인을 복제합니다. 함수는 설명선 드라이버가 복제된 체인을 에 성공적으로 전달할 수 있도록 사용되지 않는 데이터를 트리밍합니다. FwpsStreamInjectAsync0 함수입니다.

복제본 NET_BUFFER_LIST 구조체 체인의 스트림 데이터가 네트워크 스택에 성공적으로 삽입된 후 각 클론 NET_BUFFER_LIST 구조에 대해 completionFn 설명선 함수가 호출되고 설명선이 FwpsFreeCloneNetBufferList0 를 호출하여 복제 NET_BUFFER_LIST 구조를 해제해야 합니다.

복제된 스트림 데이터를 다시 생성하지 않고 삭제하려면 설명선이 FwpsDiscardClonedStreamData0 함수를 호출해야 합니다.

요구 사항

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

추가 정보

FWPS_STREAM_DATA0

FwpsDiscardClonedStreamData0

FwpsFreeCloneNetBufferList0

FwpsStreamInjectAsync0

NET_BUFFER

NET_BUFFER_LIST