summaryrefslogtreecommitdiff
path: root/storage/msdsm/src/msdsmdsm.mof
blob: f85eea270b665b1d8c47964210dfc6408a50e74d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
//
// Copyright (C) 2004  Microsoft Corporation
//
// Microsoft DSM's DSM-specific classes
//

//
// Class used for retrieving and setting MSDSM-wide default load balance policy.
//
[WMI,
 Dynamic,
 Provider("WmiProv"),
 Description("MSDSM-wide default load balance policies.") : amended,
 Locale("MS\\0x409"),
 guid("{c81b5681-f3ca-4c98-9325-707d0d62ffc4}")]
class MSDSM_DEFAULT_LOAD_BALANCE_POLICY
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     read, write,
     Description("Load Balance Policy to be applied to devices controlled by MSDSM.") : amended
    ] uint32 LoadBalancePolicy;

    [WmiDataId(2),
     read,
     Description("Reserved.") : amended
    ] uint32 Reserved;

    //
    // Preferred path.
    //
    [WmiDataId(3),
     read, write,
     Description("Preferred Path.") : amended
    ] uint64 PreferredPath;
};

//
// Embedded class that describes a target and the default load balance policy
// of its LUNs.
//
[WMI,
 guid("{ddb00a72-0fab-418b-a89e-97370ae293a4}")]
class MSDSM_TARGET_DEFAULT_POLICY_INFO
{
    //
    // VID-PID string as an 8 + 16 character concatenated string.
    // Spaces should be used to make the VID 8 chars and the PID 16 chars.
    //
    [WmiDataId(1),
     MaxLen(31),
     Description("Concatenated VendorID (8 characters) and ProductID (16 characters).") : amended
    ] string HardwareId;

    //
    // The default load balance policy to be applied to LUNs from the target
    // whose hardware id matches the VID/PID above.
    // NOTE: Setting this to 0 will act as removal of default setting for this
    // target.
    //
    [WmiDataId(2)] uint32 LoadBalancePolicy;

    //
    // Used for alignment reasons.
    //
    [WmiDataId(3)] uint32 Reserved;

    //
    // Preferred path.
    //
    [WmiDataId(4)] uint64 PreferredPath;
};

//
// Class used for retrieving and setting target-level default load balance policy.
//
[WMI,
 Dynamic,
 Provider("WmiProv"),
 Description("Target-level default load balance policies.") : amended,
 Locale("MS\\0x409"),
 guid("{5ccbcd91-1b56-4327-a2f3-0960335f8846}")]
class MSDSM_TARGETS_DEFAULT_LOAD_BALANCE_POLICY
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     read, write,
     Description("Number of targets specified.") : amended
    ] uint32 NumberDevices;

    [WmiDataId(2),
     read,
     Description("Reserved.") : amended
    ] uint32 Reserved;

    [WmiDataId(3),
     read, write,
     MaxLen(31),
     Description("Array of target hardware identifiers with policy and preferred path information.") : amended,
     WmiSizeIs("NumberDevices")
    ] MSDSM_TARGET_DEFAULT_POLICY_INFO TargetDefaultPolicyInfo[];
};

//
// Supported devices list class.
//
[WMI,
 Dynamic,
 Provider("WmiProv"),
 Description("Retrieve MSDSM's supported devices list.") : amended,
 Locale("MS\\0x409"),
 guid("{c362d67c-371e-44d8-8bba-044619e4f245}")]
class MSDSM_SUPPORTED_DEVICES_LIST
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     read,
     Description("Number of supported devices.") : amended
    ] uint32 NumberDevices;

    [WmiDataId(2),
     read,
     Description("Reserved.") : amended
    ] uint32 Reserved;

    [WmiDataId(3),
     read,
     MaxLen(31),
     Description("Array of device hardware identifiers.") : amended,
     WmiSizeIs("NumberDevices")
    ] string DeviceId[];
};