IOCTL_SYSENV_ENUM_VARIABLES IOCTL (ntddsysenv.h)

使用 SysEnv 设备返回有关系统环境变量的信息。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

一个布尔值,指示是否应包含值。

输入缓冲区长度

BOOLEAN 的大小。

输出缓冲区

指向包含系统环境变量信息的缓冲区的指针。 如果已请求值,缓冲区将指向 XVARIABLE_NAME_AND_VALUE 结构的数组。 否则,返回 XVARIABLE_NAME 结构的数组。

下一个条目的位置由XVARIABLE_NAME_AND_VALUEXVARIABLE_NAMENextEntryOffset 确定。

输出缓冲区长度

输入时,输出缓冲区的长度(以字节为单位)。 输出时,返回数据的长度(以字节为单位)。 如果输入缓冲区足够大,则此值指示复制到输出缓冲区中的数据量。 如果输入缓冲区太小,则指示所需的缓冲区长度。

状态块

Irp->如果请求成功,IoStatus.Status 设置为 STATUS_SUCCESS。 否则, 状态 为相应的错误条件作为 NTSTATUS 代码。

要求

要求
Header ntddsysenv.h

另请参阅

在驱动程序中创建 IOCTL 请求

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously