estrutura NET_FRAGMENT (fragment.h)
Representa um buffer contíguo na memória.
Sintaxe
typedef struct _NET_FRAGMENT {
UINT64 ValidLength : 26;
UINT64 Capacity : 26;
UINT64 Offset : 10;
UINT64 Scratch : 1;
UINT64 OsReserved_Bounced : 1;
} NET_FRAGMENT;
Membros
ValidLength
Contém o comprimento do conteúdo do pacote. Esse valor é menor ou igual ao valor de Capacidade.
Para filas de transmissão, esse valor é somente leitura.
Capacity
Contém o comprimento total do buffer de pacotes.
Para filas de transmissão, esse valor é somente leitura.
Offset
Contém o deslocamento desde o início do VirtualAddress e DmaLogicalAddress até o início da carga de pacote válida. Esse valor é menor ou igual ao valor de Capacidade.
Para obter o endereço virtual desse fragmento, chame NetExtensionGetFragmentVirtualAddress.
Para obter o endereço lógico do DMA para esse fragmento, chame NetExtensionGetFragmentLogicalAddress.
Para filas de transmissão, esse valor é somente leitura.
Scratch
Um valor de campo de bit que o cliente pode usar para qualquer finalidade. Quando o NET_PACKET ao qual esse fragmento pertence é reutilizado, esse valor é redefinido para zero.
OsReserved_Bounced
Reservado. Os drivers de cliente não devem ler ou gravar nesse valor.
Comentários
Uma única estrutura de NET_PACKET contém referências a uma ou mais estruturas NET_FRAGMENT .
Embora cada fragmento seja um buffer virtualmente contíguo de memória, um pacote que contém mais de um fragmento é virtualmente descontínuo.
Requisitos
Requisito | Valor |
---|---|
Versão mínima do KMDF | 1.29 |
Cabeçalho | fragment.h |