FsRtlIssueDeviceIoControl function (ntifs.h)

The FsRtlIssueDeviceIoControl routine sends a synchronous device I/O control request to a target device object.

Syntax

NTSTATUS FsRtlIssueDeviceIoControl(
  [in]            PDEVICE_OBJECT DeviceObject,
  [in]            ULONG          IoCtl,
                  UCHAR          Flags,
  [in, optional]  PVOID          InputBuffer,
  [in]            ULONG          InputBufferLength,
  [out, optional] PVOID          OutputBuffer,
  [in]            ULONG          OutputBufferLength,
  [in]            PULONG_PTR     IosbInformation
);

Parameters

[in] DeviceObject

The target device object.

[in] IoCtl

The IOCTL control code to issue.

Flags

The desired IRP flags to set for IOCTL request.

[in, optional] InputBuffer

An optional buffer containing the input data for the request.

[in] InputBufferLength

The length, in bytes, of the input data in InputBuffer.

[out, optional] OutputBuffer

An optional caller-supplied output buffer for returned data.

[in] OutputBufferLength

The length, in bytes, of the output data buffer at OutputBuffer.

[in] IosbInformation

A pointer to a ULONG status value to receive the information field value set in the I/O status block at completion of the request.

Return value

FsRtlIssueDeviceIoControl returns STATUS_SUCCESS or another NTSTATUS value returned in the status block from the I/O operation.

Requirements

Requirement Value
Minimum supported client Windows 8
Target Platform Universal
Header ntifs.h (include Ntifs.h)
Library Ntoskrnl.lib
IRQL <= APC_LEVEL

See also

FltDeviceIoControlFile