Compartilhar via


Macro NdisMoveMemory (ndis.h)

A função NdisMoveMemory copia um número especificado de bytes de um local fornecido pelo chamador para outro.

Sintaxe

void NdisMoveMemory(
  [out]  Destination,
  [in]   Source,
  [in]   Length
);

Parâmetros

[out] Destination

Um ponteiro para um buffer de espaço do sistema que é o destino da movimentação. Esse buffer deve ter pelo menos tamanho bytes de tamanho.

[in] Source

Um ponteiro para um buffer de espaço do sistema do qual essa função copia os dados para o buffer de destino. Esse buffer deve ter pelo menos tamanho bytes de tamanho.

[in] Length

O número de bytes a serem copiados.

Valor de retorno

Nenhum

Observações

Tanto o de origem quanto o destino são endereços virtuais.

Se qualquer um dos endereços estiver dentro de um intervalo de memória do dispositivo mapeada com NdisMMapIoSpace, um driver de miniporto deverá chamar um dos Ndis.. Funções de MappedMemory em vez de NdisMoveMemory.

O intervalo especificado por de origem e de comprimento de não pode sobrepor o intervalo de de destino.

Os chamadores de NdisMoveMemory poderão ser executados em qualquer IRQL se o de Origem de determinado e de Destino estiverem residentes. Caso contrário, os chamadores devem estar em execução no < DISPATCH_LEVEL IRQL, como, por exemplo, se um dos endereços estiver na pilha.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte para drivers existentes no NDIS 6.0 e posterior, mas novos drivers devem usar RtlCopyMemory (não RtlMoveMemory).
da Plataforma de Destino Área de trabalho
cabeçalho ndis.h (inclua Ndis.h)
IRQL Consulte a seção Comentários

Consulte também

NdisAllocateMemoryWithTagPriority

NdisMMapIoSpace