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
呼叫端的類型。 迷你埠、篩選和中繼驅動程式將此字段設定為零(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
預先配置 NET_BUFFER_LIST_CONTEXT 結構數據的大小,以位元組為單位,NDIS 應該為此集區中的NET_BUFFER_LIST結構提供。 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。 相反地,配置會在釋放時標示為無存取權,讓驅動程式可以偵測無用的 Bug。
言論
如果 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) |