Método IDmaChannel::AllocateBuffer (portcls.h)

O método AllocateBuffer aloca um buffer comum que pode ser acessado pelo driver de porta e hardware de DMA.

Sintaxe

NTSTATUS AllocateBuffer(
  ULONG             BufferSize,
  PPHYSICAL_ADDRESS PhysicalAddressConstraint
);

Parâmetros

BufferSize

Especifica o tamanho em bytes do buffer a ser alocado.

PhysicalAddressConstraint

Especifica uma restrição opcional a ser colocada no endereço físico do buffer. Se esse parâmetro não for NULL, somente os bits definidos no endereço de restrição variarão do início ao fim do buffer. Por exemplo, para solicitar um buffer que não cruze um limite de 64 quilobytes, especifique a restrição de endereço físico 0x000000000000FFFF.

Retornar valor

Esse método retorna NTSTATUS. AllocateBuffer retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, o método retorna um código de erro apropriado.

Comentários

Esse método deve ser chamado apenas uma vez após a criação do objeto de canal DMA, a menos que o buffer alocado anteriormente seja liberado pela primeira vez chamando FreeBuffer.

Requisitos

Requisito Valor
Cabeçalho portcls.h
IRQL PASSIVE_LEVEL

Confira também

IDmaChannel