Description("This is the base class for all BCD elements. The Type field identifies the specific sub-type of element.") : Amended
]
class BcdElement {
[
Read,
Description("This is the file path of the store that this element is a part of.") : Amended
]
string StoreFilePath;
[
Read,
Description("This is the id of the object that this element belongs to.") : Amended
]
string ObjectId;
[
Read,
Description("The upper 4 bits (28-31) determine the class of the element. The next 4 bits (24-27) determine the format of the element data. The lower 24 bits (0-23) determine the sub-type of the element.") : Amended
]
uint32 Type;
};
[
Description("This is the root class of all device data types.") : Amended
]
class BcdDeviceData {
[
Read,
Description("This identifies the type of device element. This value dictates whether this is a file device element or a partition device element.") : Amended,
Description("This represents the additional options for the element.") : Amended
]
string AdditionalOptions;
};
[
Description("This is the base device element class. Device elements come in two flavors, File and Partition, and can be distinguished by the DeviceType field.") : Amended
]
class BcdDeviceElement : BcdElement {
[
Read,
Description("This field contains information about the device.") : Amended
]
BcdDeviceData Device;
};
[
Description("This class represents unknown device data and exposes the data as a binary blob.") : Amended
]
class BcdDeviceUnknownData : BcdDeviceData {
[
Read,
Description("This is the binary data of the unknown device element.") : Amended
]
uint8 Data[];
};
[
Description("This represents a file device element.") : Amended
]
class BcdDeviceFileData : BcdDeviceData {
[
Read,
Description("This is the parent device of this file device.") : Amended
]
BcdDeviceData Parent;
[
Read,
Description("This is the device path.") : Amended
]
string Path;
};
[
Description("This represents a partition device element.") : Amended
]
class BcdDevicePartitionData : BcdDeviceData {
[
Read,
Description("This is the device path.") : Amended
]
string Path;
};
[
Description("This represents a string element.") : Amended
]
class BcdStringElement : BcdElement {
[
Read,
Description("This is the string value of the element.") : Amended
]
string String;
};
[
Description("This represents an object element. The Id field specifies a BcdObject in the same store.") : Amended
]
class BcdObjectElement : BcdElement {
[
Read,
Description("This is the guid id of the object this element refers to.") : Amended
]
string Id;
};
[
Description("This represents a list of objects. Each element in the Ids array specifies the guid id of an object in the same store.") : Amended
]
class BcdObjectListElement : BcdElement {
[
Read,
Description("This is the array of object ids this element refers to.") : Amended
]
string Ids[];
};
[
Description("This represents an integer element. Note that although Integer is a 64bit number, it must be passed as a string since Automation has no native 64bit type.") : Amended
]
class BcdIntegerElement : BcdElement {
[
Read,
Description("This is the integer value of the element.") : Amended
]
uint64 Integer;
};
[
Description("This represents an integer list element. Note that although Integers are 64bit numbers, they must be passed as strings since Automation has no native 64bit type.") : Amended
]
class BcdIntegerListElement : BcdElement {
[
Read,
Description("This is the array of integer values of the element.") : Amended
]
uint64 Integers[];
};
[
Description("This represents a boolean element.") : Amended
]
class BcdBooleanElement : BcdElement {
[
Read,
Description("This is the boolean value of the element.") : Amended
]
boolean Boolean;
};
[
Description("This represents an unknown element.") : Amended
]
class BcdUnknownElement : BcdElement {
[
Read,
Description("This is the actual value of the element inside the BCD store.") : Amended