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::BufferSize 和 IDmaChannelSlave::ReadCounter。
要求
要求 | 价值 |
---|---|
标头 | portcls.h |
IRQL | PASSIVE_LEVEL |