функция обратного вызова 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

[В] Регистрировать IOMMU_INTERFACE_STATE_CHANGE_CALLBACK .

Context

[Вход, необязательно] Необязательный контекст, который будет передан обратному вызову изменения состояния.

DmaDevice

[В] Указатель на непрозрачный маркер, представляющий IOMMU_DMA_DEVICE , который будет связан с обратным вызовом.

StateFields

[В] Указатель на состояния, о которым регистрируется вызывающий объект для уведомления. См . 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)

См. также раздел

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX

IOMMU_INTERFACE_STATE_CHANGE_CALLBACK

IOMMU_INTERFACE_STATE_CHANGE_FIELDS

IOMMU_UNREGISTER_INTERFACE_STATE_CHANGE_CALLBACK