IOMMU_QUERY_INPUT_MAPPINGS回调函数 (wdm.h)

尝试查找对给定设备有效的输入映射 ID,并使用这些 ID 填充提供的缓冲区。

语法

IOMMU_QUERY_INPUT_MAPPINGS IommuQueryInputMappings;

NTSTATUS IommuQueryInputMappings(
  [_In_]     PDEVICE_OBJECT PhysicalDeviceObject,
  [_Inout_]  PINPUT_MAPPING_ELEMENT Buffer,
  [_In_]     ULONG BufferLength,
  [_Out_opt] PULONG ReturnLength
)
{...}

参数

[_In_] PhysicalDeviceObject

指向设备堆栈中物理设备对象(PDO)的指针。

[_Inout_] Buffer

指向使用输入映射 ID 填充的类型 INPUT_MAPPING_ELEMENT 缓冲区的指针。

[_In_] BufferLength

Buffer指向的缓冲区的长度。

[_Out_opt] ReturnLength

自选。 一个指针,用于存储写入的数据量(或提供足够大小的缓冲区时写入的数据)。

返回值

如果作成功,则返回STATUS_SUCCESS。 否则,返回相应的 NTSTATUS 值错误代码。 有关详细信息,请参阅 NTSTATUS 值。 可能的值包括:

错误代码 描述
STATUS_BUFFER_TOO_SMALL 提供的缓冲区大小不足。
STATUS_UNSUCCESSFUL 无法满足请求。
STATUS_SUCCESS 缓冲区已正确填充。

言论

如果缓冲区长度不足,则不会写入任何 ID,并且 ReturnLength(如果提供)将填充所需的缓冲区大小。

此例程目前仅在 ARM64 系统上受支持。

要求

要求 价值
最低支持的客户端 Windows 10 版本 1803
标头 wdm.h (包括 Wdm.h)