Compartilhar via


NdisFlushBuffer

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa função libera a região memória descrita por um descritor reserva especificada de todos os caches processador.

Syntax

VOID NdisFlushBuffer(
  PNDIS_BUFFER Buffer,
  BOOLEAN WriteToDevice
);

Parameters

  • Buffer
    [no] Ponteiro para um mapeamento descrição reserva uma reserva a partir do qual ou para quais dados é transferida como um mestre barramento operação acesso direto à memória (DMA).
  • WriteToDevice
    [no] Especifica se o driver NIC chama essa função para TRUE liberado uma reserva antes de fazer um transferir da memória hospedar à NIC.

    Se o driver NIC especifica FALSE, ele deve garantir que a reserva começa e termina em um limite cache-Line.

    Observação

    Este sinalizador é ignorado no momento.

Return Value

Nenhum.

Remarks

Drivers de BusMaster NICs acesso direto à memória (DMA) chamar esta função manter dados integridade na memória compartilhada. Liberando a reserva assegura coerência entre a hospedar armazenar em cache memória e processador físico memória antes uma transferir acesso direto à memória (DMA) para ou de cartão interface de rede.

O driver liberações tal uma reserva quando dados que ele compartilha com seu NIC podem ser armazenado em cache. Para qualquer transferir entre hospedar memória e um mestre barramento DMA NIC, a miniporta deve liberado de reserva antes da inicialização do transferir. Tal um driver também deve garantir que hospedar memória não é acessada até que a transferir completa.

NdisFlushBuffer é uma operação cara em Windows Embedded CE, pois ele libera todos os caches dados, não apenas a um para a página afetada. Para melhor desempenho e utilização recurso, use memória non-cached em vez disso. A seguinte lista mostra dois alternativo técnicas.

Requirements

Header ndis.h
Library ndis.lib
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

MiniportHandleInterrupt
NdisMAllocateSharedMemory
NdisMUpdateSharedMemory

Other Resources

VirtualAlloc
VirtualCopy