IOCTL_SYSENV_ENUM_VARIABLES IOCTL (ntddsysenv.h)

Returns information about system environment variables using SysEnv device.

Major code

IRP_MJ_DEVICE_CONTROL

Input buffer

A boolean value indicating whether values should be included.

Input buffer length

Size of BOOLEAN.

Output buffer

A pointer to a buffer that contains the system environment variable information. If values have been requested, the buffer points to an array of XVARIABLE_NAME_AND_VALUE structures. Otherwise, returns an array of XVARIABLE_NAME structures.

The location of the next entry is determined by NextEntryOffset of the XVARIABLE_NAME_AND_VALUE and XVARIABLE_NAME.

Output buffer length

On input, the length in bytes of the output buffer. On output, the length in bytes of the returned data. If the input buffer is large enough, then this value indicates the amount of data copied into output buffer. If the input buffer is too small, then it indicates the required buffer length.

Status block

Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful. Otherwise, Status to the appropriate error condition as a NTSTATUS code.

Requirements

Requirement Value
Header ntddsysenv.h

See also

Creating IOCTL Requests in Drivers

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously