共用方式為


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

[中,選擇性]將傳遞至狀態變更回呼的選擇性內容。

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_EXIOMMU_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