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 |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈