Share via


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 結構。

迷你埠驅動程序必須將 HeaderType 成員設定為 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

呼叫端的類型。 迷你埠、篩選和中繼驅動程式將此字段設定為零 (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結構時所使用的核心集區標籤。 標記是以單引號分隔的字串,最多四個字元,通常會以反向順序指定。 核心集區標籤可協助 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 應設定為零。

如果 DataSize 不是零, fAllocateNetBuffer 必須設定為 TRUE。 這會導致 NDIS 使用指定大小的數據緩衝區來配置 NET_BUFFER 結構。

如果 DataSize 為零且 fAllocateNetBufferTRUE,NDIS 會配置 NET_BUFFER 結構,但不會配置數據緩衝區。

NdisAllocateNetBufferListPool 函式的 Parameters 參數包含NET_BUFFER_LIST_POOL_PARAMETERS結構的指標。

規格需求

需求
最低支援的用戶端 NDIS 6.0 和更新版本支援。
標頭 ndis/nblapi.h (include ndis.h)

另請參閱

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_DATA

NdisAllocateNetBufferListPool