функция обратного вызова 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) |
См. также раздел
IOMMU_INTERFACE_STATE_CHANGE_CALLBACK
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по