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 |