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。
要求
要求 | 值 |
---|---|
Header | portcls.h |
IRQL | PASSIVE_LEVEL |