Método IDmaChannel::AllocateBuffer (portcls.h)
O método AllocateBuffer aloca um buffer comum que pode ser acessado pelo driver de porta e hardware 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 final 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.
Valor de retorno
Esse método retorna NTSTATUS. AllocateBuffer retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, o método retornará um código de erro apropriado.
Observações
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 |