Partager via


fonction de rappel IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK (wdm.h)

Permet à l’appelant d’inscrire un rappel à appeler chaque fois qu’une modification d’état liée à un DMA_IOMMU_INTERFACE_EX se produit.

Syntaxe

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
)
{...}

Paramètres

StateChangeCallback

[Dans] La IOMMU_INTERFACE_STATE_CHANGE_CALLBACK à inscrire.

Context

[Dans, facultatif] Contexte facultatif qui sera passé au rappel de modification d’état.

DmaDevice

[Dans] Pointeur vers un jeton opaque représentant l'IOMMU_DMA_DEVICE qui sera lié au rappel.

StateFields

[Dans] Pointeur vers les états auxquels un appelant s’inscrit pour être informé. Voir IOMMU_INTERFACE_STATE_CHANGE_FIELDS.

Valeur de retour

STATUS_SUCCESS si l’opération réussit.

Les valeurs de retour d’erreur possibles incluent les codes d’état suivants.

Retourner le code Description
STATUS_UNSUCCESSFUL La routine n’a pas pu inscrire le rappel fourni, car la IOMMU_DMA_DEVICE a déjà été inscrite auprès d’un rappel.
STATUS_INVALID_PARAMETER_4 L’appelant n’a pas indiqué d’intérêt dans un champ d’état d’interface dans StateFields.

Pour plus d’informations, consultez valeurs NTSTATUS.

Remarques

L’inscription appelle toujours immédiatement le rappel pour éviter les conditions de concurrence avec les notifications qui appellent les rappels. Les propriétaires de rappel ne doivent pas supposer l’état lorsqu’un rappel est appelé et doivent toujours vérifier que l’état correspond à leurs besoins.

Avant de supprimer une DMA_IOMMU_INTERFACE_EX ou IOMMU_DMA_DEVICE, le propriétaire est responsable de la désinscription de tous ses rappels inscrits.

Un seul rappel peut être inscrit par IOMMU_DMA_DEVICE.

Exigences

Exigence Valeur
serveur minimum pris en charge Windows Server 2022
d’en-tête wdm.h (include Wdm.h)

Voir aussi

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX

IOMMU_INTERFACE_STATE_CHANGE_CALLBACK

IOMMU_INTERFACE_STATE_CHANGE_FIELDS

IOMMU_UNREGISTER_INTERFACE_STATE_CHANGE_CALLBACK