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