PGET_DMA_ADAPTER_INFO回调函数 (wdm.h)
GetDmaAdapterInfo 例程检索有关系统 DMA 通道的硬件功能的信息。
语法
PGET_DMA_ADAPTER_INFO PgetDmaAdapterInfo;
NTSTATUS PgetDmaAdapterInfo(
[in] PDMA_ADAPTER DmaAdapter,
[in, out] PDMA_ADAPTER_INFO AdapterInfo
)
{...}
参数
[in] DmaAdapter
指向 DMA_ADAPTER 结构的指针。 此结构是表示驱动程序的系统 DMA 通道的适配器对象。 调用方从对 IoGetDmaAdapter 例程的上一次调用中获取了此指针。
[in, out] AdapterInfo
指向调用方分配 的DMA_ADAPTER_INFO 结构的指针。 例程将有关系统 DMA 控制器的信息写入此结构。 调用方必须将此结构的 Version 成员设置为在调用 GetDmaAdapterInfo 之前DMA_ADAPTER_INFO_VERSION1。
返回值
如果调用成功,GetDmaAdapterInfo 将返回STATUS_SUCCESS。 可能的错误返回值包括以下状态代码。
返回代码 | 说明 |
---|---|
|
例程不支持 指定版本的 DMA_ADAPTER_INFO_XXX 结构。 |
注解
GetDmaAdapterInfo 不是可直接按名称调用的系统例程。此例程只能由DMA_OPERATIONS结构中返回的地址中的指针调用 。 驱动程序通过调用 IoGetDmaAdapter 获取此例程的地址,并将 DeviceDescription 参数的 Version 成员设置为 DEVICE_DESCRIPTION_VERSION3。 如果 IoGetDmaAdapter 返回 NULL,则例程在平台上不可用。
GetDmaAdapterInfo 检索以下信息:
- 散点/收集列表中 DMA 控制器可在单个散点/收集 DMA 操作中处理的最大元素数。
- DMA 地址的宽度(以位为单位)。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从Windows 8开始可用。 |
目标平台 | 桌面 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
IRQL | <= DISPATCH_LEVEL |