IOMMU_QUERY_INPUT_MAPPINGS callback function (wdm.h)

Attempts to find input mapping IDs which are valid for the given device and populate the provided buffer with those IDs.

Syntax

IOMMU_QUERY_INPUT_MAPPINGS IommuQueryInputMappings;

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

Parameters

[_In_] PhysicalDeviceObject

A pointer to the physical device object (PDO) in the device stack.

[_Inout_] Buffer

A pointer to the buffer of the type INPUT_MAPPING_ELEMENT that is populated with the input mapping IDs.

[_In_] BufferLength

The length of the buffer pointed to by Buffer.

[_Out_opt] ReturnLength

Optional. A pointer to store the amount of data written (or data that would be written if a buffer of sufficient size was provided).

Return value

Return STATUS_SUCCESS if the operation succeeds. Otherwise, return an appropriate NTSTATUS values error code. For more information, see NTSTATUS Values. Possible values include:

Error code Description
STATUS_BUFFER_TOO_SMALL The provided buffer is of insufficient size.
STATUS_UNSUCCESSFUL The request cannot be satisfied.
STATUS_SUCCESS The buffer has been populated correctly.

Remarks

If the buffer is of insufficient length, no IDs will be written and ReturnLength (if provided) will be populated with the required buffer size.

This routine is currently only supported on ARM64 systems.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1803
Header wdm.h (include Wdm.h)