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 結構。
迷你埠驅動程序必須將 Header 的 Type 成員設定為 NDIS_OBJECT_TYPE_DEFAULT。 若要指定NET_BUFFER_LIST_POOL_PARAMETERS結構的版本,驅動程式必須將 Header 的 Revision 成員設定為下列值:
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 為零且 fAllocateNetBuffer 為 TRUE,NDIS 會配置 NET_BUFFER 結構,但不會配置數據緩衝區。
NdisAllocateNetBufferListPool 函式的 Parameters 參數包含NET_BUFFER_LIST_POOL_PARAMETERS結構的指標。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
標頭 | ndis/nblapi.h (include ndis.h) |