FwpsAllocateNetBufferAndNetBufferList0 함수(fwpsk.h)

FwpsAllocateNetBufferAndNetBufferList0 함수는 새 NET_BUFFER_LIST 구조를 할당합니다.

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

구문

NTSTATUS FwpsAllocateNetBufferAndNetBufferList0(
  [in]           NDIS_HANDLE     poolHandle,
  [in]           USHORT          contextSize,
  [in]           USHORT          contextBackFill,
  [in, optional] MDL             *mdlChain,
  [in]           ULONG           dataOffset,
  [in]           SIZE_T          dataLength,
  [out]          NET_BUFFER_LIST **netBufferList
);

매개 변수

[in] poolHandle

NdisAllocateNetBufferListPool 함수에 대한 이전 호출에서 가져온 NET_BUFFER_LIST 풀 핸들입니다.

[in] contextSize

설명선 드라이버에 대해 예약할 NET_BUFFER_LIST_CONTEXT 구조에서 사용된 데이터 공간의 크기(바이트)입니다. 이 매개 변수의 값은 MEMORY_ALLOCATION_ALIGNMENT 정의한 값의 배수여야 합니다.

[in] contextBackFill

설명선 드라이버에 필요한 사용되지 않는 데이터 공간(백필 공간)의 크기(바이트)입니다. FwpsAllocateNetBufferAndNetBufferList0 함수는 ContextSize 매개 변수에 지정된 값에 이 값을 추가하고 추가 공간을 할당합니다. 이 매개 변수의 값은 MEMORY_ALLOCATION_ALIGNMENT 정의한 값의 배수여야 합니다.

[in, optional] mdlChain

미리 할당된 NET_BUFFER 구조를 초기화하는 데 사용되는 MDL 체인에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

[in] dataOffset

버퍼의 시작부터 MDL 체인에서 사용된 데이터 공간의 시작까지의 초기 오프셋(바이트)입니다. 이 오프셋 앞의 데이터 공간은 사용되지 않는 데이터 공간입니다. 따라서 이 값은 MDL 체인에서 사용 가능한 백필 공간의 초기 크기도 나타냅니다.

[in] dataLength

MDL 체인에서 사용된 데이터 공간의 길이(바이트)입니다.

[out] netBufferList

NET_BUFFER_LIST 구조체에 대한 포인터를 수신하는 변수에 대한 포인터입니다.

반환 값

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

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

설명

설명선 드라이버는 FwpsAllocateNetBufferAndNetBufferList0 함수를 호출하여 새 NET_BUFFER_LIST 구조를 할당합니다.

이 함수는 에 대한 래퍼입니다. NdisAllocateNetBufferAndNetBufferList 함수는 WFP 패킷 삽입 함수에서 사용하도록 특수화되어 있습니다.

NET_BUFFER_LIST 구조에 설명된 데이터가 네트워크 스택에 성공적으로 삽입된 후 설명선 드라이버는 를 호출하여 새 NET_BUFFER_LIST 구조를 해제합니다. FwpsFreeNetBufferList0 함수입니다.

요구 사항

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

추가 정보

FwpsFreeNetBufferList0

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

패킷 삽입 함수