MPIO_DSM_Path_V2 WMI Class
MPIO publishes the MPIO_DSM_Path_V2 WMI class but expects the DSM to register the GUID and handle its implementation. An MPIO driver uses the MPIO_DSM_Path_V2 WMI class to identify the path ID as reported by a DSM.
class MPIO_DSM_Path_V2
{
//
// Unique identifier to distinguish paths known to the DSM.
// This is what is returned to MPIO during DsmSetDeviceInfo.
//
[WmiDataId(1),
Description("DSM Path Id") : amended
]
uint64 DsmPathId;
//
// Reserved.
//
[WmiDataId(2),
Description("Reserved field") : amended
]
uint64 Reserved;
//
// Value that determines which path the DSM picks if the load balance is
// Weighted Paths.
//
[WmiDataId(3),
Description("Weight assigned to the path") : amended
]
uint32 PathWeight;
//
// Flag to indicate if this is a primary path.
// ActiveOptimized and ActiveUnoptimized paths must set this to TRUE.
//
[WmiDataId(4),
Description("Flag set to TRUE if the path is a primary path. Else FALSE. Used in conjunction with the OptimizedPath flag.") : amended
]
uint32 PrimaryPath;
//
// Flag to indicate if this is an optimized path.
// ActiveOptimized and StandBy paths must set this to TRUE.
// Even though a StandBy path doesn't actually provide optimal access to the
// device, it must set this flag to TRUE. This is due to the fact that this
// flag is used in conjunction with the PrimaryPath flag to form a two bit
// boolean representation of the access states (AO, AU, SB, UA).
//
[WmiDataId(5),
Description("Flag set to TRUE if access to device is optimized through this path. Else FALSE. Used in conjunction with the PrimaryPath flag.") : amended
]
uint32 OptimizedPath;
//
// Flag to indicate whether this is the Preferred Path for access device. It
// has relevance only in the Failover-only Load Balance policy. If this path
// fails and then comes back online after failover to another path completes,
// failback to this path will occur.
//
[WmiDataId(6),
Description("Flag set to TRUE if this path is the preferred path for the device. It has relevance only in the FailOver-Only Load Balance Policy.") : amended
]
uint32 PreferredPath;
//
// Flag to indicate if the path is currently in a Failed state.
//
[WmiDataId(7),
Description("Flag set to TRUE if the path is online but in a Failed state.") : amended
]
uint32 FailedPath;
//
// TargetPortGroup's asymmetric access state
//
[WmiDataId(8),
Description("Target Port Group's Asymmetric Access State") : amended,
Values{"Active/Optimized",
"Active/Unoptimized",
"Standby",
"Unavailable",
"Not Used"} : amended,
DefineValues{"STATE_ACTIVE_OPTIMIZED",
"STATE_ACTIVE_UNOPTIMIZED",
"STATE_STANDBY",
"STATE_UNAVAILABLE",
"STATE_NOT_USED"},
ValueMap{"0", "1", "2", "3", "16"}
]
uint32 TargetPortGroup_State;
//
// Indicates the device's ALUA transition support
//
[WmiDataId(9),
Description("Device's Asymmetric Logical Unit Access state transition support") : amended,
Values{"ALUA Not Supported",
"ALUA Implicit Only",
"ALUA Explicit Only",
"ALUA Implicit and Explicit"} : amended,
DefineValues{"ALUA_NOT_SUPPORTED",
"ALUA_IMPLICIT_ONLY",
"ALUA_EXPLICIT_ONLY",
"ALUA_IMPLICIT_AND_EXPLICIT"},
ValueMap{"0", "1", "2", "3"}
]
uint32 ALUASupport;
//
// Flag to indicate if LU access is symmetric or asymmetric
//
[WmiDataId(10),
Description("Flag set to TRUE if access to logical unit is symmetric") : amended
]
uint8 SymmetricLUA;
//
// Flag to indicate if the Target Port Group is preferred
//
[WmiDataId(11),
Description("Flag set to TRUE if the Target Port Group is preferred for the logical unit") : amended
]
uint8 TargetPortGroup_Preferred;
//
// Target Port Group Identifier
//
[WmiDataId(12),
Description("Target Port Group Identifier") : amended
]
uint16 TargetPortGroup_Identifier;
//
// Identifier of the Target Port corresponding to this path through which the LUN is exposed
//
[WmiDataId(13),
Description("Target Port Identifier") : amended
]
uint32 TargetPort_Identifier;
//
// Reserved.
//
[WmiDataId(14),
Description("Reserved field") : amended
]
uint32 Reserved32;
//
// Reserved.
//
[WmiDataId(15),
Description("Reserved field") : amended
]
uint64 Reserved64;
};
When this class definition is compiled by the WMI tool suite, it produces the MPIO_DSM_Path_V2 data structure. There are no methods associated with this WMI class.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for