estructura de NET_FRAGMENT (fragment.h)
Representa un búfer contiguo en la memoria.
Sintaxis
typedef struct _NET_FRAGMENT {
UINT64 ValidLength : 26;
UINT64 Capacity : 26;
UINT64 Offset : 10;
UINT64 Scratch : 1;
UINT64 OsReserved_Bounced : 1;
} NET_FRAGMENT;
Miembros
ValidLength
Contiene la longitud de la carga del paquete. Este valor es menor o igual que el valor de Capacity.
Para las colas de transmisión, este valor es de solo lectura.
Capacity
Contiene la longitud total del búfer de paquetes.
Para las colas de transmisión, este valor es de solo lectura.
Offset
Contiene el desplazamiento desde el inicio de VirtualAddress y DmaLogicalAddress hasta el inicio de la carga de paquete válida. Este valor es menor o igual que el valor de Capacity.
Para obtener la dirección virtual de este fragmento, llame a NetExtensionGetFragmentVirtualAddress.
Para obtener la dirección lógica DMA de este fragmento, llame a NetExtensionGetFragmentLogicalAddress.
Para las colas de transmisión, este valor es de solo lectura.
Scratch
Valor de campo de bits que el cliente puede usar para cualquier propósito. Cuando se reutiliza el NET_PACKET al que pertenece este fragmento, este valor se restablece a cero.
OsReserved_Bounced
Reservado. Los controladores de cliente no deben leer ni escribir en este valor.
Comentarios
Una única estructura de NET_PACKET contiene referencias a una o varias estructuras de NET_FRAGMENT .
Aunque cada fragmento es un búfer de memoria prácticamente contiguo, un paquete que contiene más de un fragmento es prácticamente desconcertante.
Requisitos
Requisito | Value |
---|---|
Versión mínima de KMDF | 1.29 |
Encabezado | fragment.h |