Метод IDmaChannel::AllocateBuffer (portcls.h)

Метод AllocateBuffer выделяет общий буфер, к которому можно получить доступ с помощью драйвера портов и оборудования DMA.

Синтаксис

NTSTATUS AllocateBuffer(
  ULONG             BufferSize,
  PPHYSICAL_ADDRESS PhysicalAddressConstraint
);

Параметры

BufferSize

Указывает размер выделенного буфера в байтах.

PhysicalAddressConstraint

Указывает необязательное ограничение для размещения на физическом адресе буфера. Если этот параметр не равен NULL, то только биты, заданные в адресе ограничения, будут отличаться от начала до конца буфера. Например, чтобы запросить буфер, который не пересекает границу 64-килобайта, укажите физическое ограничение адреса 0x000000000000FFFF.

Возвращаемое значение

Этот метод возвращает NTSTATUS. Функция AllocateBuffer возвращает STATUS_SUCCESS, если вызов выполнен успешно. В противном случае метод возвращает соответствующий код ошибки.

Комментарии

Этот метод должен вызываться только один раз после создания объекта канала DMA, если ранее выделенный буфер не освобождается путем вызова FreeBuffer.

Требования

   
Заголовок portcls.h
IRQL PASSIVE_LEVEL

См. также раздел

IDmaChannel