IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK función de devolución de llamada (wdm.h)

Permite al autor de la llamada registrar una devolución de llamada que se invocará siempre que se produzca cualquier cambio de estado relacionado con un DMA_IOMMU_INTERFACE_EX .

Sintaxis

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

Parámetros

StateChangeCallback

[In] La IOMMU_INTERFACE_STATE_CHANGE_CALLBACK que se va a registrar.

Context

[In, opcional] Contexto opcional que se pasará a la devolución de llamada de cambio de estado.

DmaDevice

[In] Puntero a un token opaco que representa el IOMMU_DMA_DEVICE que se vinculará a la devolución de llamada.

StateFields

[In] Puntero a los estados sobre los que se registra un llamador para recibir notificaciones. Consulte IOMMU_INTERFACE_STATE_CHANGE_FIELDS.

Valor devuelto

STATUS_SUCCESS si la operación se realiza correctamente.

Entre los posibles valores devueltos de error se incluyen los siguientes códigos de estado.

Código devuelto Descripción
STATUS_UNSUCCESSFUL La rutina no pudo registrar la devolución de llamada proporcionada porque el IOMMU_DMA_DEVICE ya se ha registrado con una devolución de llamada.
STATUS_INVALID_PARAMETER_4 El autor de la llamada no indicó interés en ningún campo de estado de interfaz en StateFields.

Para obtener más información, vea Valores NTSTATUS.

Comentarios

El registro siempre invocará inmediatamente la devolución de llamada para evitar condiciones de carrera con las notificaciones que invocan las devoluciones de llamada. Los propietarios de devolución de llamada no deben asumir el estado cuando se invoca una devolución de llamada y siempre deben comprobar que el estado coincide con sus necesidades.

Antes de eliminar una DMA_IOMMU_INTERFACE_EX o IOMMU_DMA_DEVICE, el propietario es responsable de anular el registro de todas sus devoluciones de llamada registradas.

Solo se puede registrar una devolución de llamada por IOMMU_DMA_DEVICE.

Requisitos

Requisito Value
Servidor mínimo compatible Windows Server 2022
Encabezado wdm.h (incluya Wdm.h)

Consulte también

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX

IOMMU_INTERFACE_STATE_CHANGE_CALLBACK

IOMMU_INTERFACE_STATE_CHANGE_FIELDS

IOMMU_UNREGISTER_INTERFACE_STATE_CHANGE_CALLBACK