SDEL 中的属性令牌

SDEL 语言使用目标属性标记来定义目标设备和计算机的特征。

所有目标的根属性令牌

下表描述了根命名空间中对所有目标都有效的属性。

关键字 VARIANT 类型 说明
类型 VT_BSTR 定义目标类型。 此值可以是“System”或“Device”。

设备目标的根属性令牌

下表描述了根命名空间中仅对设备类型目标有效的属性。

注意

以下大多数属性都是通过 SetupDi API 从操作系统中检索的。 有关此 API 的详细信息,请参阅 SetupDiGetDeviceRegistryProperty。

关键字 VARIANT 类型 说明
地址 VT_I4 特定于类的 (或特定于总线的) 地址。
BusNumber VT_I4 设备的总线编号。
功能 VT_I4 设备的功能。
字符 VT_I4 DWORD 中设备特征标志的按位 OR。 (SPDRP_CHARACTERISTICS)
VT_BSTR 设备的类。
ClassGUID VT_BSTR 设备的类,采用 GUID 形式。 使用本地化生成时,请使用此关键字 (keyword) 而不是类字段。
CompatIDs 具有 VT_BSTR 的 VARIANT VT_ARRAY 为此设备定义的所有兼容 ID。
ConfigFlags VT_I4 设备的配置标志。
描述 VT_BSTR 设备说明。
DeviceID VT_BSTR 设备标识符,包括设备的实例标识符。 此字符串是系统中每个设备的唯一字符串。
DeviceStatusString VT_BSTR 在单个字符串中包含 StatusString 和 ProblemCodeString。
DevInst VT_I4 设备实例的不透明句柄。
DevType VT_I4 表示设备的类型。 (SPDRP_DEVTYPE)
DisplayName VT_BSTR 解析为在以下属性中从左到右) (找到的第一个值:FriendlyName、Description 或 DeviceID。
驱动程序 VT_BSTR HKLM\System\CurrentControlSet\Control\Class\ 中的键,用于保存有关驱动程序的详细信息。
DriverBinaryNames 具有 VT_BSTR 的 VARIANT VT_ARRAY 聚合 UpperClassFilters、UpperFilters、LowerFilters、LowerClassFilters 和服务中的所有数据。
枚举器 VT_BSTR 设备枚举器的名称。 (SPDRP_ENUMERATOR_NAME)
排他 VT_I4 一个数字,指示用户是否可以获得设备的独占使用。 (SPDRP_EXCLUSIVE)
筛选器 具有 VT_BSTR 的 VARIANT VT_ARRAY 聚合 UpperClassFilters、UpperFilters、LowerFilters 和 LowerClassFilters 中的所有数据。
FriendlyName VT_BSTR 设备的友好名称。
HardwareIDs 具有 VT_BSTR 的 VARIANT VT_ARRAY 为此设备定义的所有硬件 ID。
IsAttached VT_BOOL 与 IsPhantom 属性相反的 。 此关键字 (keyword) 等效于“IsPhantom=False”。
IsDisable VT_BOOL 从状态标志中提取DN_DISABLEABLE标志。 值为 VARIANT_TRUE 表示设备声明可以禁用它。 此关键字 (keyword) 等效于“状态&0x00002000”。
IsDisabled VT_BOOL 检查 ProblemCode 属性中的CM_PROB_DISABLED值。 值 VARIANT_TRUE 指示设备已禁用,并且必须在使用前启用。 此关键字 (keyword) 等效于“ProblemCode=0x00000016”。
IsFailedStart VT_BOOL 检查 ProblemCode 标志中的CM_PROB_FAILED_START标志。 值为 VARIANT_TRUE 表示设备驱动程序无法启动。 此关键字 (keyword) 等效于“ProblemCode=0x0000000A”。
IsFailedInstall VT_BOOL 检查 ProblemCode 标志中的CM_PROB_FAILED_INSTALL标志。 值 VARIANT_TRUE 表示设备驱动程序未能安装在设备上。 此关键字 (keyword) 等效于“ProblemCode=0x0000001C”。
IsFiltered VT_BOOL 从状态标志中提取DN_FILTERED标志。 此关键字 (keyword) 等效于“状态&0x00000800”。
IsManual VT_BOOL 从状态标志中提取DN_MANUAL标志。 此关键字 (keyword) 等效于“状态&0x00000010”。
IsMoved VT_BOOL 从状态标志中提取DN_MOVED标志。 此关键字 (keyword) 等效于“状态&0x00001000”。
IsPhantom VT_BOOL 值 VARIANT_TRUE 指示设备当前未插入系统或已卸载。
IsRebootNeeded VT_BOOL 从状态标志中提取DN_NEED_RESTART标志。 值 VARIANT_TRUE 指示设备的辅助安装程序声明需要重启计算机才能完成删除或安装操作。 此关键字 (keyword) 等效于“状态&0x00000100”。
IsReinstallNeeded VT_BOOL 从 ConfigFlags 属性中提取CONFIGFLAG_REINSTALL标志。 值为 VARIANT_TRUE 表示设备声明可将其删除。 此关键字 (keyword) 等效于“ConfigFlags&0x00000020”。
IsRemovable VT_BOOL 从状态标志中提取DN_REMOVABLE标志。 值为 VARIANT_TRUE 表示设备声明可将其删除。 此关键字 (keyword) 等效于“状态&0x00004000”。
IsRemovePending VT_BOOL 从状态标志中提取DN_WILL_BE_REMOVED标志。 此关键字 (keyword) 等效于“状态&0x00040000”。
IsRootEnumerated VT_BOOL 从状态标志中提取DN_ROOT_ENUMERATED标志。 值 VARIANT_TRUE 指示设备的父级为 RootDevice。 此关键字 (keyword) 等效于“状态&0x00000001”。
IsStarted VT_BOOL 从状态标志中提取DN_STARTED标志。 值为 VARIANT_TRUE 表示设备当前已配置。 此关键字 (keyword) 等效于“状态&0x00000008”。
LegacyBusType VT_I4 旧式总线类型。
位置 VT_BSTR 有关设备物理位置的详细信息。
LocationPaths 具有 VT_BSTR 的 VARIANT VT_ARRAY 设备实例在设备树中的位置。
LowerClassFilters 具有 VT_BSTR 的 VARIANT VT_ARRAY 在目标设备上附加为较低类筛选器的每个驱动程序的服务名称。
LowerClassFiltersBinaryNames 具有 VT_BSTR 的 VARIANT VT_ARRAY 设备目标的所有较低类筛选器驱动程序的二进制文件的名称。
LowerFilters 具有 VT_BSTR 的 VARIANT VT_ARRAY 作为目标设备上的下级筛选器附加的每个驱动程序的服务名称。
LowerFiltersBinaryNames 具有 VT_BSTR 的 VARIANT VT_ARRAY 设备目标的所有较低筛选器驱动程序的名称。
制造商 VT_BSTR 设备制造商。
PDO VT_BSTR 内核中物理设备对象的名称。
ProblemCode VT_I4 设备的问题代码。 Cfg.h 中定义的CM_PROB_前缀问题值之一。
ProblemCodeString VT_BSTR ProblemCode 的字符串表示形式。
RemovalPolicy VT_I4 设备的当前删除策略。 (SPDRP_REMOVAL_POLICY)
RemovalPolicyHWDefault VT_I4 设备指定的默认删除策略。 (SPDRP_REMOVAL_POLICY_HW_DEFAULT)
RemovalPolicyOverride VT_I4 如果删除策略) 设备存在,则替代删除策略 (。 (SPDRP_REMOVAL_POLICY_OVERRIDE)
服务 VT_BSTR 设备的驱动程序的服务名称。
ServiceBinaryName VT_BSTR 设备目标的函数驱动程序的名称。
状态 VT_I4 设备的状态标志。
StatusString VT_BSTR 设备状态字符串。
SymbolicLink VT_BSTR 可用于使用 Microsoft Win32 CreateFile 方法打开设备的名称。 不能以这种方式使用所有设备。 大多数具有可编程接口的设备都将提供 SymbolicLink。
UIFormat VT_BSTR 用于显示 UINumber 值的字符串。 (SPDRP_UI_NUMBER_DESC_FORMAT)
UINumber VT_I4 设备的 UINumber。
UpperClassFilters 具有 VT_BSTR 的 VARIANT VT_ARRAY 在目标设备上附加为上类筛选器的每个驱动程序的服务名称。
UpperClassFiltersBinaryNames 具有 VT_BSTR 的 VARIANT VT_ARRAY 设备目标的所有上类筛选器驱动程序的二进制文件的名称。
UpperFilters 具有 VT_BSTR 的 VARIANT VT_ARRAY 作为目标设备上上层筛选器附加的每个驱动程序的服务名称。
UpperFiltersBinaryNames 具有 VT_BSTR 的 VARIANT VT_ARRAY 设备目标的所有上层筛选器驱动程序的名称

系统目标的根关键字

下表描述了根命名空间中仅对系统类型目标有效的属性。

关键字 VARIANT 类型 描述
IsPhantom VT_BOOL 指定系统当前是否可供使用。
IsRemote VT_BOOL 指定目标是否为远程系统。
PageSize VT_I4 目标系统硬件的页大小。
ProcArch VT_BSTR 目标系统硬件的处理器体系结构。 此字段可以包含“x86”、“IA64”或“x64”。
OSMajorVersion VT_I4 指定操作系统的主版本号。
OSMinorVersion VT_I4 指定操作系统的次要版本号。

磁盘命名空间关键字

下表描述了 Disk 命名空间中仅对磁盘设备有效的属性。

注意

Disk 命名空间中的大多数属性都是通过 IOCTL 从操作系统检索到磁盘本身的。 有关详细信息,请参阅 STORAGE_DEVICE_DESCRIPTOR

关键字 VARIANT 类型 描述
BusType VT_I4 STORAGE_DEVICE_DESCRIPTOR。BusType 字段。
DeviceType VT_I4 STORAGE_DEVICE_DESCRIPTOR。DeviceTypeModifier 字段。
IsRemovable VT_BOOL 指定设备是否包含可移动媒体。
IsCommandQueuing VT_BOOL STORAGE_DEVICE_DESCRIPTOR。CommandQueueing 字段。
Number VT_UI4 磁盘编号 (可能与“地址”字段) 相同。
ProductID VT_BSTR 产品标识符。
ProductRev VT_BSTR 产品修订值。
SerialNumber VT_BSTR 序列号。
大小 VT_I8 磁盘的总大小(以字节为单位)。
VendorID VT_BSTR 供应商标识符。

卷命名空间关键字

下表描述了 Volume 命名空间中仅对卷设备有效的属性。

关键字 VARIANT 类型 说明
启动 VT_BOOL 确定卷是否为启动分区。 值为 VARIANT_TRUE 表示卷是启动分区。 启动分区是包含 Windows 操作系统文件的分区。
DeviceName VT_BSTR 此卷的 MS-DOS 设备名称的当前映射。
磁盘 VT_BSTR 此卷的 MS-DOS 设备名称的当前映射。
DriveLetter VT_BSTR 卷的驱动器号,包括尾部斜杠 (\) 。
ExtentCount VT_I4 卷扩展到的磁盘数。
ExtentDiskNumbers 具有 VT_I4 的 VARIANT VT_ARRAY 一个数组,其中包含卷扩展到的每个 Disk::Number 值。 数组具有 ExtentCount 元素,并且索引为 0。 数组与其他 Extent* 数组具有相同的顺序。
ExtentLengths 具有 VT_I8 的 VARIANT VT_ARRAY 一个数组,其中包含卷延伸的每个单独盘区的长度。 数组具有 ExtentCount 元素,并且索引为 0。 数组与其他 Extent* 数组具有相同的顺序。
ExtentOffsets 具有 VT_I8 的 VARIANT VT_ARRAY 一个数组,其中包含卷延伸的每个单独盘区的起始偏移量。 数组具有 ExtentCount 元素,并且索引为 0。 数组与其他 Extent* 数组具有相同的顺序。
FileSystem VT_BSTR 卷的文件系统的名称。 (GetVolumeInformation)
FreeSize VT_I8 卷上的可用空间总量(以字节为单位)。
GBFreeSize VT_I4 e 用户可用的磁盘上可用 (GB) 的可用总字节数。
GBTotalSize VT_I4 ) 用户可用的卷上 (GB 的总 gb 数。
HasFiles VT_BOOL 确定卷上是否有文件。 值为 VARIANT_TRUE 表示卷上有文件。
IsMediaPresent VT_BOOL 确定卷中是否存在媒体。 值为 VARIANT_TRUE 表示卷上有媒体。
IsMediaRemovable VT_BOOL 确定卷媒体是否可移动。 值为 VARIANT_TRUE 表示卷媒体是可移动的。
Label VT_BSTR 卷标签。 (GetVolumeInformation)
MBFreeSize VT_I8 (MB) 磁盘上可供用户使用的可用兆字节总数。
MBTotalSize VT_I8 用户可用的卷上 (MB) 的总数。 (GetDiskFreeSpaceEx)
MountPaths VT_BSTR 此卷的所有装载路径。
PagePath VT_BOOL 确定卷是否包含活动页文件。 值为 VARIANT_TRUE 表示卷包含活动页文件。
SerialNumber VT_I4 卷的序列号。
系统 VT_BOOL 确定卷是否为系统分区。 值为 VARIANT_TRUE 表示卷包含 Windows 系统分区。 系统分区包含与硬件相关的文件, (启动 Windows 启动管理器 (bootmgr) 的可启动代码) 。
TotalSize VT_I8 卷的总大小(以字节为单位)。
类型 VT_I4 从 GetDriveType (DriveLetter) 返回的值。 有关详细信息,请参阅 MSDN 库中的 GetDriveType。

Power Namespace 关键字

下表描述了 Power 命名空间中仅对电源设备有效的属性。

关键字 VARIANT 类型 描述
SupportedDeviceUnits 具有 VT_BSTR 的 VARIANT VT_ARRAY 可用于查询的 PowerUnit 命名空间数组。

PowerDevice、PowerComponentX、PowerProcessor 和 PowerSoC 命名空间关键字

下表描述了各种 PowerUnit 命名空间中的属性。

关键字 VARIANT 类型 说明
SupportedStates 具有 VT_BSTR 的 VARIANT VT_ARRAY 电源状态的命名空间数组, (C0–C6、D0–D3、F0–F9、SWIS0–SWIS3)
CoveredStates 具有 VT_BSTR 的 VARIANT VT_ARRAY 涵盖状态的命名空间数组。 仅包含具有非零命中计数的状态

PowerProcessorCX、PowerDeviceDX、PowerComponentXFY、PowerSoCSWISX 命名空间关键字

下表描述了各种 PowerState 命名空间中的属性。

关键字 VARIANT 类型 描述
HitCount VT_UI4 在测试期间输入给定电源状态的次数。
持续时间 VT_UI4 给定电源状态所花费的时间(以毫秒为单位)。
百分比 VT_UI4 在给定权力状态下花费的时间的百分比。

接口命名空间关键字

下表描述了各种接口命名空间中的属性。

关键字 VARIANT 类型 说明
全部 VT_BSTR 单个设备支持的所有设备接口 GUID 的所有设备接口。
VT_BSTR GUID_DEVINTERFACE_VOLUME GUID 的接口。
DISK VT_BSTR GUID_DEVINTERFACE_DISK GUID 的接口。
CDROM VT_BSTR GUID_DEVINTERFACE_CDROM GUID 的接口。
GUID VT_BSTR 单个接口 GUID 的接口。

CAP 命名空间关键字

下表描述了各种 CAP (功能) 命名空间中的属性。

关键字 VARIANT 类型 说明
LockSupported VT_BOOL 指定设备是否支持阻止设备弹出的物理设备锁定。 (CM_DEVCAP_LOCKSUPPORTED)
弹出支持 VT_BOOL 指定当系统处于 PowerSystemWorking 状态时,设备是否支持软件控制的设备弹出。 (CM_DEVCAP_EJECTSUPPORTED)
可移动 VT_BOOL 指定是否可以从其直接父级动态删除设备。 (CM_DEVCAP_REMOVABLE)
DockDevice VT_BOOL 指定设备是否为停靠外围设备。 (CM_DEVCAP_DOCKDEVICE)
UniqueId VT_BOOL 指定设备的实例 ID 在系统范围内是否是唯一的。 (CM_DEVCAP_UNIQUEID)
SilentInstall VT_BOOL 指定设备管理器是否应禁止显示所有安装对话框。 (CM_DEVCAP_SILENTINSTALL)
RawDeviceOK VT_BOOL 指定在没有函数驱动程序的情况下,基础总线的驱动程序是否可以驱动设备。 (CM_DEVCAP_RAWDEVICEOK)
SurpriseRemovalOK VT_BOOL 指定设备的函数驱动程序是否可以处理在 Windows 可以向其发送IRP_MN_QUERY_REMOVE_DEVICE之前删除设备的情况。 (CM_DEVCAP_SURPRISEREMOVALOK)
HardwareDisabled VT_BOOL 指定是否禁用设备的硬件。 (CM_DEVCAP_HARDWAREDISABLED)
非动态 VT_BOOL 保留供将来使用。 (CM_DEVCAP_NONDYNAMIC)

INF 命名空间关键字

下表描述了各种 INF 命名空间中的属性。

关键字 VARIANT 类型 说明
FileName VT_BSTR INF 文件名。
FileNamePath VT_BSTR INF 文件名路径。
SectionName VT_BSTR INF 节名称。
日期 VT_BSTR INF 日期。
OriginalInfFileName VT_BSTR 原始 INF 文件名。

NET 命名空间关键字

下表描述了各种 NET 命名空间中的属性。

关键字 VARIANT 类型 说明
适配器名称 VT_BSTR 来自 IP_ADAPTER_ADDRESSES 结构的 AdapterName 字段。
IPV6Address VT_BSTR IP_ADAPTER_ADDRESSES 结构中的 FirstUnicastAddress 字段。
FirstAnycastAddress VT_BSTR IP_ADAPTER_ADDRESSES 结构中的 FirstAnycastAddress 字段。
FirstMulticastAddress VT_BSTR IP_ADAPTER_ADDRESSES 结构中的 FirstMulticastAddress 字段。
FirstDnsServerAddress VT_BSTR IP_ADAPTER_ADDRESSES 结构中的 FirstDnsServerAddress 字段。
FirstPrefix VT_BSTR 来自IP_ADAPTER_ADDRESSES结构的 FirstPrefix 字段。
PrimaryWINSServer VT_BSTR IP_ADAPTER_ADDRESSES 结构中的 FirstWinsServerAddress 字段。
FirstGatewayAddress VT_BSTR IP_ADAPTER_ADDRESSES 结构中的 FirstGatewayAddress 字段。
ConnectionSpecificDNSSuffix VT_BSTR IP_ADAPTER_ADDRESSES 结构中的 DnsSuffix 字段
说明 VT_BSTR IP_ADAPTER_ADDRESSES结构的说明字段。
FriendlyName VT_BSTR IP_ADAPTER_ADDRESSES 结构的 FriendlyName 字段。
PhysicalAddress VT_BSTR 来自 IP_ADAPTER_ADDRESSES 结构的 MacAddress 字段
Flags VT_UI4 IP_ADAPTER_ADDRESSES结构中的标志字段
Mtu VT_UI4 IP_ADAPTER_ADDRESSES 结构中的 Mtu 字段。
IfType VT_UI4 IP_ADAPTER_ADDRESSES 结构中的 IfType 字段。
OperStatus VT_UI4 IP_ADAPTER_ADDRESSES 结构中的 OperStatus 字段
OperationalStatusString VT_BSTR IP_ADAPTER_ADDRESSES 结构中的 OperStatus 字段等效的字符串
Ipv6IfIndex VT_UI4 IP_ADAPTER_ADDRESSES 结构中的 Ipv6IfIndex 字段
TransmitLinkSpeedMbps VT_UI4 来自 IP_ADAPTER_ADDRESSES 结构的 TransmitLinkSpeedGpbs 字段。
ReceiveLinkSpeedMbps VT_UI4 来自IP_ADAPTER_ADDRESSES结构的 ReceiveLinkSpeedMbps 字段。
Ipv4Metric VT_UI4 IP_ADAPTER_ADDRESSES 结构的 Ipv4Metric 字段。
Ipv6Metric VT_UI4 IP_ADAPTER_ADDRESSES结构中的 Ipv6Metric 字段。
DHCPServer VT_BSTR 来自IP_ADAPTER_ADDRESSES结构的 Dhcpv4Server 字段。
隔间 Id VT_UI4 来自IP_ADAPTER_ADDRESSES结构的隔间 Id 字段。
NetworkGuid VT_BSTR IP_ADAPTER_ADDRESSES 结构中的 NetworkGuid 字段。
ConnectionType VT_UI4 来自IP_ADAPTER_ADDRESSES结构的 ConnectionType 字段。
TunnelType VT_UI4 IP_ADAPTER_ADDRESSES 结构中的 TunnelType 字段。
Dhcpv6ClientDuidLength VT_UI4 IP_ADAPTER_ADDRESSES 结构中的 Dhcpv6ClientDuidLength 字段。
Dhcpv6Iaid VT_UI4 来自 IP_ADAPTER_ADDRESSES 结构的 Dhcpv6Iaid 字段。
IsOperational VT_BOOL 可操作。
PhysicalMediaType VT_UI4 网络设备的物理媒体类型。
MediaType VT_UI4 网络设备的物理媒体类型。

OpticalMedia 命名空间关键字

下表描述了各种 OpticalMedia 命名空间中的属性。

关键字 VARIANT 类型 说明
IsMediaPresent VT_BOOL 是否在光学媒体设备中存在媒体。
类型 VT_UI4 从 IOCTL_CDROM_GET_CONFIGURATION GET_CONFIGURATION_HEADER 中返回的当前配置文件类型编号。
ClassTypeString VT_BSTR 光学媒体类的类型。
“类型”“字符串” VT_BSTR 光学介质的类型。

StorageMedia 命名空间关键字

下表描述了各种 StorageMedia 命名空间中的属性。

关键字 VARIANT 类型 说明
DeviceType VT_UI4 指定系统定义的FILE_DEVICE_XXX常量之一,指示设备的类型。
DeviceTypeString VT_BSTR 设备类型关联的字符串。
计数 VT_UI4 包含 MediaInfo 中DEVICE_MEDIA_INFO结构的数目。
SupportedTypes VT_UI4 指定指示可移动磁盘类型的所有MEDIA_TYPE或STORAGE_MEDIA_TYPE值。
有效 VT_BOOL 如果此设备的收集器具有有效数据。

Windows 命名空间关键字

下表描述了各种 Windows 命名空间中的属性。

关键字 VARIANT 类型 描述
IsDriverVerifierEnabled VT_BOOL True 或 False 指示是否为此设备的所有驱动程序启用了至少标准设置的驱动程序验证程序。
IsKernelDebugDevice VT_BOOL True 或 False 指示内核调试器是否正在使用此设备。