FwpsReferenceNetBufferList0 함수(fwpsk.h)
FwpsReferenceNetBufferList0 함수는 NET_BUFFER_LIST 구조체에 대한 참조 수를 증가합니다.
구문
void FwpsReferenceNetBufferList0(
[in, out] NET_BUFFER_LIST *netBufferList,
[in] BOOLEAN intendToModify
);
매개 변수
[in, out] netBufferList
참조 수가 증가되는 NET_BUFFER_LIST 구조체에 대한 포인터입니다.
[in] intendToModify
classifyFn 함수가 반환된 후 설명선이 netBufferList 매개 변수에 의해 부모가 가리키는 복제된 네트워크 버퍼 목록을 수정할지 여부를 나타내는 값입니다. TRUE이면 classifyFn이 반환된 후(대역 외 수정) 복제된 net 버퍼 목록을 수정하려고 합니다. 그렇지 않으면 를 FALSE로 설정합니다.
반환 값
없음
설명
설명선 드라이버는 FwpsReferenceNetBufferList0 함수를 호출하여 네트워크 버퍼 목록이 classifyFn 함수 외부에서 유효한 상태로 유지되도록 NET_BUFFER_LIST 구조에 대한 참조 수를 증가시킵니다.
예를 들어 설명선 드라이버가 패킷 을 다시 어셈블리로 수행하는 경우 개별 패킷을 구성하는 패킷 조각을 설명하는 수신된 각 NET_BUFFER_LIST 구조체에 대한 참조 횟수가 증가합니다. 이렇게 하면 다시 어셈블된 패킷을 설명하는 새 NET_BUFFER_LIST 구조체가 패킷 조각을 설명하는 NET_BUFFER_LIST 구조체가 가리키는 MDL(메모리 설명자 목록)을 안전하게 참조할 수 있습니다. 설명선 드라이버가 네트워크 스택에 새 NET_BUFFER_LIST 구조를 삽입한 후 패킷 삽입 완료 루틴에서 패킷 조각을 설명하는 각 NET_BUFFER_LIST 구조체에 대한 참조 수를 감소합니다.
설명선 드라이버는 설명선 드라이버가 구조체 참조를 완료한 후 NET_BUFFER_LIST 구조체에 대해 FwpsDereferenceNetBufferList0 함수를 호출해야 합니다.
참조된 패킷을 관리하기 위한 지침
설명선 드라이버는 참조된 패킷을 무기한 보유해서는 안 됩니다. 참조된 패킷은 유휴 컴퓨터에서 전원 관리 작업을 방해할 수 있습니다.WFP에서 참조된 패킷에 대한 용도는 사용자 모드 애플리케이션 또는 기타 비교적 빠른 작업에서 설명을 가져오는 것입니다. 예를 들어 사용자 입력, 웹 서비스 정리 또는 임의의 시간이 걸릴 수 있는 기타 작업을 기다리는 동안 설명선 드라이버는 참조된 패킷을 보유해서는 안 됩니다.
설명선 드라이버가 잠재적으로 긴 작업을 기다려야 하는 경우 FwpsAllocateNetBufferAndNetBufferList0 를 사용하여 패킷의 심층 복사본을 만들고 원래 패킷을 차단하고 흡수해야 합니다.
설명선 드라이버는 항상 가능한 한 빨리 저장된 패킷을 반환해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista부터 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | fwpsk.h(Fwpsk.h 포함) |
라이브러리 | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |