다음을 통해 공유


NET_BUFFER_LIST_POOL_PARAMETERS 구조체(ndis/nblapi.h)

NET_BUFFER_LIST_POOL_PARAMETERS 구조체는 NET_BUFFER_LIST 구조체 풀에 대한 매개 변수를 정의합니다.

통사론

typedef struct _NET_BUFFER_LIST_POOL_PARAMETERS {
  NDIS_OBJECT_HEADER Header;
  UCHAR              ProtocolId;
  BOOLEAN            fAllocateNetBuffer;
  USHORT             ContextSize;
  ULONG              PoolTag;
  ULONG              DataSize;
  ULONG              Flags;
} NET_BUFFER_LIST_POOL_PARAMETERS, *PNET_BUFFER_LIST_POOL_PARAMETERS;

회원

Header

NET_BUFFER_LIST_POOL_PARAMETERS 구조체의 형식, 수정 버전 및 크기입니다. 이 멤버는 NDIS_OBJECT_HEADER 구조체로 형식이 지정됩니다.

미니포트 드라이버는 헤더Type 멤버를 NDIS_OBJECT_TYPE_DEFAULT 설정해야 합니다. NET_BUFFER_LIST_POOL_PARAMETERS 구조체의 버전을 지정하려면 드라이버는 HeaderRevision 멤버를 다음 값으로 설정해야 합니다.

NET_BUFFER_LIST_POOL_PARAMETERS_REVISION_1

NDIS 6.0의 원래 버전입니다.

Size 멤버를 NDIS_SIZEOF_NET_BUFFER_LIST_POOL_PARAMETERS_REVISION_1 설정합니다.

ProtocolId

호출자의 형식입니다. 미니포트, 필터 및 중간 드라이버는 이 필드를 0(NDIS_PROTOCOL_ID_DEFAULT)으로 설정합니다. 프로토콜 드라이버는 다음 값 중 하나를 사용합니다.

NDIS_PROTOCOL_ID_DEFAULT

기본 프로토콜 드라이버 식별자를 지정합니다.

NDIS_PROTOCOL_ID_TCP_IP

TCP/IP 프로토콜을 지정합니다.

NDIS_PROTOCOL_ID_IPX

IPX 프로토콜을 지정합니다.

NDIS_PROTOCOL_ID_NBF

NetBEUI 프로토콜을 지정합니다.

fAllocateNetBuffer

이 멤버가 TRUE로 설정된 경우 NDIS는 NET_BUFFER_LIST 구조의 풀을 할당합니다. 할당된 각 NET_BUFFER_LIST 구조체는 하나의 NET_BUFFER 구조로 초기화됩니다.

이 멤버가 FALSE로 설정된 경우 NDIS는 NET_BUFFER_LIST 구조의 풀을 할당합니다. 할당된 각 NET_BUFFER_LIST 구조체는 NET_BUFFER 구조를 포함하도록 초기화되지 않습니다.

자세한 내용은 설명 섹션을 참조하세요.

ContextSize

NDIS가 이 풀의 NET_BUFFER_LIST 구조체에 제공해야 하는 미리 할당된 NET_BUFFER_LIST_CONTEXT 구조 데이터의 크기(바이트)입니다. ContextSize MEMORY_ALLOCATION_ALIGNMENT 정의된 값의 배수여야 합니다.

PoolTag

호출자가 이 풀에서 NET_BUFFER_LIST 구조를 할당할 때 사용하는 커널 풀 태그입니다. 태그는 작은따옴표로 구분된 문자열로, 대개 역순으로 지정된 최대 4자의 문자로 구분됩니다. 커널 풀 태그는 NDIS가 이 풀에서 할당된 NET_BUFFER_LIST 구조체의 소유자를 식별하는 데 도움이 됩니다.

DataSize

NET_BUFFER_LIST 풀과 연결된 데이터 버퍼의 기본 데이터 크기(바이트)입니다(있는 경우). NDIS는 이 값을 사용하여 연결된 NET_BUFFER 구조에 할당하는 데이터 버퍼의 크기를 설정합니다.

자세한 내용은 설명 섹션을 참조하세요.

Flags

다음 플래그가 정의됩니다.

NET_BUFFER_LIST_POOL_FLAG_VERIFY 0x00000001

이 플래그가 설정되면 NDIS는 이 풀에서 NET_BUFFER_LISTs 즉시 다시 사용하지 않습니다. 대신 할당은 해제될 때 액세스 권한 없음으로 표시되므로 드라이버가 사용 후 사용 가능한 버그를 검색할 수 있습니다.

발언

fAllocateNetBuffer FALSE로 설정된 경우 NDIS는 NET_BUFFER 구조를 할당하지 않으며 DataSize 0으로 설정해야 합니다.

DataSize 0이 아니면 fAllocateNetBuffer TRUE로 설정해야 합니다. 이로 인해 NDIS는 지정된 크기의 데이터 버퍼를 사용하여 NET_BUFFER 구조를 할당합니다.

DataSize 0이고 fAllocateNetBuffer true 경우 NDIS는 데이터 버퍼가 아닌 NET_BUFFER 구조를 할당합니다.

NdisAllocateNetBufferListPool 함수의 매개 변수 매개 변수는 NET_BUFFER_LIST_POOL_PARAMETERS 구조체에 대한 포인터를 포함합니다.

요구 사항

요구
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
헤더 ndis/nblapi.h(ndis.h 포함)

참고 항목

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_DATA

NdisAllocateNetBufferListPool