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