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