Метод IDmaChannelSlave::Start (portcls.h)
Метод Start запускает подчиненный объект DMA.
Синтаксис
NTSTATUS Start(
ULONG MapSize,
BOOLEAN WriteToDevice
);
Параметры
MapSize
Указывает количество байтов выделенного буфера, которые необходимо сопоставить. Размер карты не должен превышать размер буфера, выделенного при вызове IDmaChannel::AllocateBuffer.
WriteToDevice
Задает направление перемещения данных. Если задано значение TRUE, данные должны быть перемещены из буфера на устройство. Если значение FALSE, данные должны быть перемещены с устройства в буфер.
Возвращаемое значение
Этот метод возвращает NTSTATUS. Он возвращает STATUS_SUCCESS, если вызов был выполнен успешно. В противном случае метод возвращает соответствующий код ошибки. Если вызывающий объект пытается запустить уже запущенный канал, метод немедленно возвращается с кодом ошибки STATUS_UNSUCCESSFUL.
Комментарии
Примечание
Корпорация Майкрософт поддерживает разнообразную и инклюзивную среду. В этой статье содержатся ссылки на терминологию, которую руководство Майкрософт по общениям без предвзятости распознает как исключающую. Слово или фраза используется в этой статье для обеспечения согласованности, так как они в настоящее время отображаются в программном обеспечении. При обновлении программного обеспечения для удаления языка эта статья будет обновлена, чтобы она была в соответствии.
Метод сначала настраивает регистры карты для сопоставления первых байтов MapSize выделенного буфера для объекта адаптера. Затем метод запускает передачу DMA числа байтов, указанного в MapSize.
Дополнительные сведения об этом методе см. в разделах IDmaChannel::BufferSize и IDmaChannelSlave::ReadCounter.
Требования
Требование | Значение |
---|---|
Заголовок | portcls.h |
IRQL | PASSIVE_LEVEL |