阅读:1548回复:3
什么是packet descriptors?
看程序的时候看到这么一句“allocates and initializes a block of storage for a pool of packet descriptors”对其中的packet descriptors不甚了解,请指教。
|
|
|
沙发#
发布于:2002-02-27 09:21
看程序的时候看到这么一句“allocates and initializes a block of storage for a pool of packet descriptors”对其中的packet descriptors不甚了解,请指教。 请看ndis.h struct NDIS_PACKET 的定义 |
|
|
板凳#
发布于:2002-02-27 09:56
I got the definition of _NDIS_PACKRT,but can not get what I want.
以下是ndis.h中关于packet的定义: // // packet definition // typedef struct _NDIS_PACKET { NDIS_PACKET_PRIVATE Private; union { struct // For Connection-less miniports { UCHAR MiniportReserved[2*sizeof(PVOID)]; UCHAR WrapperReserved[2*sizeof(PVOID)]; }; struct { // // For de-serialized miniports. And by implication conn-oriented miniports. // This is for the send-path only. Packets indicated will use WrapperReserved // instead of WrapperReservedEx // UCHAR MiniportReservedEx[3*sizeof(PVOID)]; UCHAR WrapperReservedEx[sizeof(PVOID)]; }; struct { UCHAR MacReserved[4*sizeof(PVOID)]; }; }; ULONG_PTR Reserved[2]; // For compatibility with Win95 UCHAR ProtocolReserved[1]; } NDIS_PACKET, *PNDIS_PACKET, **PPNDIS_PACKET; [编辑 - 2/27/02 作者: KungFu] |
|
|
地板#
发布于:2002-02-27 12:34
包描述符的关键成员是private。该成员使用一个由buffer描述符(实际上是内存描述符)构成的一个buffer链表,这个链表组成了一个大的非连续的缓冲区。private实际上是在这个大缓冲区中存储真正的数据包的。
|
|