Método IDmaChannel::AllocateBuffer (portcls.h)
El método AllocateBuffer asigna un búfer común al que puede acceder el controlador de puerto y el hardware DMA.
Sintaxis
NTSTATUS AllocateBuffer(
ULONG BufferSize,
PPHYSICAL_ADDRESS PhysicalAddressConstraint
);
Parámetros
BufferSize
Especifica el tamaño en bytes del búfer que se va a asignar.
PhysicalAddressConstraint
Especifica una restricción opcional que se va a colocar en la dirección física del búfer. Si este parámetro no es NULL, solo los bits establecidos en la dirección de restricción variarán desde el principio hasta el final del búfer. Por ejemplo, para solicitar un búfer que no cruza un límite de 64 kilobytes, especifique la restricción de dirección física 0x000000000000FFFF.
Valor devuelto
Este método devuelve NTSTATUS. AllocateBuffer devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, el método devuelve un código de error adecuado.
Comentarios
Solo se debe llamar a este método una vez después de la creación del objeto DMA-channel, a menos que el búfer asignado previamente se libere llamando a FreeBuffer.
Requisitos
Requisito | Valor |
---|---|
Header | portcls.h |
IRQL | PASSIVE_LEVEL |