Compartilhar via


NET_FRAGMENT estrutura (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 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 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 bits 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 cliente não devem ler ou gravar nesse valor.

Observações

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 discontiguo.

Requisitos

Requisito Valor
versão mínima do KMDF 1.29
cabeçalho fragment.h