定制设备 (CuDv) 对象类
描述
"定制设备" (CuDv) 对象类包含系统中定义的所有设备实例的条目。 顾名思义,定义的设备对象是定义方法在 CuDv 对象类中创建的对象。 定义的设备实例可能有也可能没有相应的实际设备连接到系统。
CuDv 对象包含特定于设备实例的属性和连接。 由唯一逻辑名区分的每个设备实例都由 CuDv 对象类中的一个对象表示。 在系统引导期间和运行时,定制数据库将更新两次,以定义新设备,除去未定义的设备或者更新其属性已更改的设备的信息。
Descriptors
"定制设备" 对象类包含以下描述符:
| ODM 类型 | 描述符名称 | 描述 | 描述符状态 |
|---|---|---|---|
| ODM_CHAR | 名称 [NAMESIZE] | 设备名 | 必需 |
| ODM_SHORT | 状态 | 设备状态标志 | 必需 |
| ODM_SHORT | Chgstatus | 变更状态标志 | 必需 |
| ODM_CHAR | ddins [TYPESIZE] | 设备驱动程序实例 | 可选 |
| ODM_CHAR | 位置 [LOCSIZE] | 位置码 | 可选 |
| ODM_CHAR | 父级 [NAMESIZE] | 父设备逻辑名 | 可选 |
| ODM_CHAR | connwhere [LOCSIZE] | 连接设备的位置 | 可选 |
| ODM_LINK | PdDvLn | 链接到预定义设备对象类 | 必需 |
以下描述了这些描述符:
| 描述信息 | 描述 |
|---|---|
| 设备名 | 将为设备实例的定制设备对象分配唯一逻辑名,以将该实例与其他设备实例区分开来。 在定义方法处理期间,将派生设备实例的设备逻辑名。 用于派生设备逻辑名的规则为:
|
| 设备状态标志 | 标识该设备实例的当前状态。 设备方法负责为设备实例设置 "设备状态" 标志。 当 "定义" 方法定义设备实例时,设备的状态设置为defined当 "配置" 方法配置设备实例时,设备的状态通常设置为available。仅当设备支持 "已停止" 状态时, "配置" 方法才会使设备进入 "已停止" 状态。 当 "启动" 方法启动设备实例时,其设备状态将从 "已停止" 状态更改为 "可用" 状态。 对已启动的设备实例应用 "停止" 方法会将设备状态从 "可用" 状态更改为 "已停止" 状态。 对已配置的设备实例应用 "取消配置" 方法会将设备状态从 "可用" 状态更改为 "已定义" 状态。 如果设备支持 "已停止" 状态,那么 "取消配置" 方法会将设备从 "已停止" 状态转为 "已定义" 状态。 可能的状态值有:
|
| 变更状态标志 | 此标志指示自上次系统引导以来设备实例是否已被更改。 诊断工具使用此标志来验证系统配置。 该标志可以采用以下值:
|
| 设备驱动程序实例 | 如果设备驱动程序仅支持一个主要数字,那么此描述符通常包含与预定义设备 (PdDv) 对象类中的 "设备驱动程序名称" 描述符相同的值。 对于使用多个主号码 (例如,逻辑卷设备驱动程序) 的驱动程序,必须为每个主号码生成唯一的实例名称。 因为逻辑卷对每个卷组使用不同的主数字,所以卷组逻辑名将用于此目的。 如果设备实例没有相应的设备驱动程序,那么将使用空字符串来填充此字段。 |
| 位置码 | 标识该设备的位置码。 此字段提供用于识别物理设备的方法。 将位置码格式定义为 AB-CD-EF-GH,其中:
|
| 父设备逻辑名 | 标识父级设备实例的逻辑名。 在实际设备的情况下,这指示该设备连接到的父设备的逻辑名。 更一般地说,指定的父设备是其 "配置" 方法负责将此设备的逻辑名返回给配置管理器以配置此设备的设备。 对于节点设备,将使用空字符串来填充此字段。 |
| 连接设备的位置 | 标识该设备连接到的父设备实例上的特定位置。 术语 位置 是在一般意义上使用的。 对于某些设备实例 (例如,操作系统总线) ,位置指示总线上的插槽。 对于 SCSI 适配器之类的设备实例,该术语指示逻辑端口 (即, SCSI 标识和逻辑单元号组合)。 例如,对于总线设备,位置可以引用总线上的特定插槽,其 2 3 1 1,2,3 ...。 对于多端口串行适配器设备,该位置可以引用适配器上的特定端口, 0 值 1 0,1 , ...。 |
| 链接到预定义设备对象类 | 通过 PdDv 对象类中的唯一类型描述符提供指向设备实例的预定义信息的链接。 |