PCONFIGURE_ADAPTER_CHANNEL回调函数 (wdm.h)

ConfigureAdapterChannel 例程调用由适配器对象表示的 DMA 控制器实现的自定义函数。

语法

PCONFIGURE_ADAPTER_CHANNEL PconfigureAdapterChannel;

NTSTATUS PconfigureAdapterChannel(
  [in] PDMA_ADAPTER DmaAdapter,
  [in] ULONG FunctionNumber,
  [in] PVOID Context
)
{...}

参数

[in] DmaAdapter

指向 DMA_ADAPTER 结构的指针。 此结构是表示驱动程序的系统 DMA 通道的适配器对象。 调用方从对 IoGetDmaAdapter 例程的上一次调用中获取了此指针。

[in] FunctionNumber

要选择的自定义函数的编号。 有关详细信息,请参见“备注”部分。

[in] Context

指向 FunctionNumber 指定的自定义函数的配置参数的指针。 函数由 DMA 控制器实现,设备驱动程序可以通过适配器对象进行访问。 DMA 控制器和设备驱动程序必须就这些配置参数的含义达成一致。 Context 指向的数据对操作系统是不透明的。

返回值

如果调用成功,ConfigureAdapterChannel 将返回STATUS_SUCCESS。 可能的错误返回值包括以下状态代码。

返回值 说明
STATUS_NOT_IMPLEMENTED
DMA 扩展不实现 FunctionNumber 指定的函数。

注解

ConfigureAdapterChannel 不是可直接按名称调用的系统例程。此例程只能由DMA_OPERATIONS结构中返回的地址中的指针调用 驱动程序通过调用 IoGetDmaAdapterDeviceDescription 参数的 Version 成员设置为 DEVICE_DESCRIPTION_VERSION3)来获取此例程的地址。 如果 IoGetDmaAdapter 返回 NULL,则例程在平台上不可用。

仅对系统 DMA 适配器使用 ConfigureAdapterChannel 。 请勿将此例程用于总线主适配器。

特定的系统 DMA 控制器可能具有特殊的硬件功能,设备驱动程序可以通过一个或多个自定义函数集访问这些功能。 控制器可能实现多个自定义函数,在这种情况下,每个函数由不同的函数编号标识。 这些函数抽象化了 DMA 硬件功能,以便可以在不同的硬件平台上支持相同的功能。

通常,自定义函数在 DMA 控制器中设置状态信息,以配置硬件功能以用于后续 DMA 传输。

要求

要求
最低受支持的客户端 从Windows 8开始可用。
目标平台 桌面
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
IRQL <= DISPATCH_LEVEL

另请参阅

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter