IDmaChannelSlave::Start 方法 (portcls.h)

Start 方法启动从属 DMA 对象。

语法

NTSTATUS Start(
  ULONG   MapSize,
  BOOLEAN WriteToDevice
);

参数

MapSize

指定要映射的已分配缓冲区的字节数。 映射大小不得超过调用 IDmaChannel::AllocateBuffer 时分配的缓冲区大小。

WriteToDevice

指定数据移动的方向。 如果为 TRUE,则数据将从缓冲区移动到设备。 如果为 FALSE,则数据将从设备移动到缓冲区。

返回值

此方法返回 NTSTATUS。 如果调用成功,它将返回STATUS_SUCCESS。 否则,该方法将返回相应的错误代码。 如果调用方尝试启动已启动的通道,该方法会立即返回错误代码STATUS_UNSUCCESSFUL。

注解

注意

Microsoft 支持多样化和包容性的环境。 本文包含 Microsoft 无偏见通信风格指南 识别为排除性的术语的参考。 为了保持一致性,本文使用了单词或短语,因为它当前显示在软件中。 当软件更新为删除该语言时,本文将更新为保持一致。

方法首先设置映射寄存器,以映射适配器对象分配的缓冲区的第一个 MapSize 字节。 接下来, 方法启动 MapSize 中指定的字节数的 DMA 传输。

有关此方法的详细信息,请参阅 IDmaChannel::BufferSizeIDmaChannelSlave::ReadCounter

要求

要求
Header portcls.h
IRQL PASSIVE_LEVEL

另请参阅

IDmaChannelSlave 接口