IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK fonction de rappel (wdm.h)

Permet à l’appelant d’inscrire un rappel à appeler chaque fois qu’un changement d’état lié à 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

[In] IOMMU_INTERFACE_STATE_CHANGE_CALLBACK à inscrire.

Context

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

DmaDevice

[In] Pointeur vers un jeton opaque représentant le IOMMU_DMA_DEVICE qui sera lié au rappel.

StateFields

[In] Pointeur vers les états dont un appelant s’inscrit pour être averti. Voir IOMMU_INTERFACE_STATE_CHANGE_FIELDS.

Valeur retournée

STATUS_SUCCESS si l’opération réussit.

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

Code de retour Description
STATUS_UNSUCCESSFUL La routine n’a pas pu inscrire le rappel fourni, car le IOMMU_DMA_DEVICE a déjà été inscrit avec un rappel.
STATUS_INVALID_PARAMETER_4 L’appelant n’a pas indiqué d’intérêt pour 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 quand un rappel est appelé et doivent toujours case activée que l’état correspond à leurs besoins.

Avant de supprimer un DMA_IOMMU_INTERFACE_EX ou un 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.

Configuration requise

Condition requise Valeur
Serveur minimal pris en charge Windows Server 2022
En-tête wdm.h (inclure 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