IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK回调函数 (wdm.h)
允许调用方注册每当发生与DMA_IOMMU_INTERFACE_EX相关的任何状态更改时要调用 的 回调。
语法
IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK IommuRegisterInterfaceStateChangeCallback;
NTSTATUS IommuRegisterInterfaceStateChangeCallback(
PIOMMU_INTERFACE_STATE_CHANGE_CALLBACK StateChangeCallback,
PVOID Context,
PIOMMU_DMA_DEVICE DmaDevice,
PIOMMU_INTERFACE_STATE_CHANGE_FIELDS StateFields
)
{...}
参数
StateChangeCallback
[In]要注册 IOMMU_INTERFACE_STATE_CHANGE_CALLBACK 。
Context
[In,可选]将传递给状态更改回调的可选上下文。
DmaDevice
[In]指向表示将链接到回调 的IOMMU_DMA_DEVICE 的不透明标记的指针。
StateFields
[In]指向调用方正在注册以接收通知的状态的指针。 请参阅 IOMMU_INTERFACE_STATE_CHANGE_FIELDS。
返回值
如果 操作成功,STATUS_SUCCESS。
可能的错误返回值包括以下状态代码。
返回代码 | 说明 |
---|---|
STATUS_UNSUCCESSFUL | 例程无法注册提供的回调,因为 IOMMU_DMA_DEVICE 已注册回叫。 |
STATUS_INVALID_PARAMETER_4 | 调用方未指示对 中的任何 StateFields 接口状态字段感兴趣。 |
有关详细信息,请参阅 NTSTATUS 值。
注解
注册将始终立即调用回调,以避免出现任何调用回调的通知的争用情况。 回调所有者不应在调用回调时假定状态,并且应始终检查状态符合其需求。
在处置 DMA_IOMMU_INTERFACE_EX 或 IOMMU_DMA_DEVICE之前,所有者负责取消注册其所有已注册的回调。
每个 IOMMU_DMA_DEVICE只能注册一个回调。
要求
要求 | 值 |
---|---|
最低受支持的服务器 | Windows Server 2022 |
标头 | wdm.h (包括 Wdm.h) |
另请参阅
IOMMU_INTERFACE_STATE_CHANGE_CALLBACK