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。 可能的错误返回值包括以下状态代码。
返回值 | 说明 |
---|---|
|
DMA 扩展不实现 FunctionNumber 指定的函数。 |
注解
ConfigureAdapterChannel 不是可直接按名称调用的系统例程。此例程只能由DMA_OPERATIONS结构中返回的地址中的指针调用 。 驱动程序通过调用 IoGetDmaAdapter(DeviceDescription 参数的 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 |