#pragma autorecover
#pragma classflags(32)
#pragma namespace("\\\\.\\root\\msdtc")

Instance of __Win32Provider as $prov
{
  Name = "MsDtcWmi";
  ClsId = "{8856918E-74C7-431C-B63D-3A5FDCC6AC08}";
  ImpersonationLevel = 1;
  HostingModel = "NetworkServiceHost";
  version = 1073741825;
};

Instance of __Win32Provider as $evtProv
{
  Name = "MsDtcWmi_EventProvider";
  ClsId = "{8856918E-74C7-431C-B63D-3A5FDCC6AC08}";
  ImpersonationLevel = 1;
  HostingModel = "NetworkServiceHost";
  version = 1073741825;
};

Instance of __MethodProviderRegistration
{
  Provider = $prov;
};

Instance of __eventproviderregistration
{
  Provider = $evtProv;
  eventQueryList = {"select * from CIM_Error"};
};

[UMLPackagePath("CIM::Interop"),locale(1033),Indication,dynamic : ToInstance,provider("MsDtcWmi_EventProvider") : ToInstance] 
class CIM_Error
{
  [ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", ".."},ModelCorrespondence{"CIM_Error.OtherErrorType"}] uint16 ErrorType;
  [ModelCorrespondence{"CIM_Error.ErrorType"}] string OtherErrorType;
  string OwningEntity;
  [ModelCorrespondence{"CIM_Error.Message", "CIM_Error.MessageArguments"}] string MessageID;
  [ModelCorrespondence{"CIM_Error.MessageID", "CIM_Error.MessageArguments"}] string Message;
  [ModelCorrespondence{"CIM_Error.MessageID", "CIM_Error.Message"}] string MessageArguments[];
  [ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", ".."}] uint16 PerceivedSeverity;
  [ValueMap{"0", "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", ".."},ModelCorrespondence{"CIM_Error.ProbableCauseDescription"}] uint16 ProbableCause;
  [ModelCorrespondence{"CIM_Error.ProbableCause"}] string ProbableCauseDescription;
  string RecommendedActions[];
  [ModelCorrespondence{"CIM_Error.ErrorSourceFormat"}] string ErrorSource;
  [ValueMap{"0", "1", "2", ".."},ModelCorrespondence{"CIM_Error.ErrorSource", "CIM_Error.OtherErrorSourceFormat"}] uint16 ErrorSourceFormat = 0;
  [ModelCorrespondence{"CIM_Error.ErrorSourceFormat"}] string OtherErrorSourceFormat;
  [ValueMap{"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", ".."},ModelCorrespondence{"CIM_Error.CIMStatusCodeDescription"}] uint32 CIMStatusCode;
  [ModelCorrespondence{"CIM_Error.CIMStatusCode"}] string CIMStatusCodeDescription;
};

[locale(1033)] 
class DtcClusterTMMapping
{
  string Name;
  string ApplicationType;
  string Application;
  boolean Local;
  string ClusterResourceName;
};

[locale(1033)] 
class DtcInstance
{
  string DtcName;
  string VirtualServerName;
  string Status;
  string OleTxEndpointCid;
  string XAEndpointCid;
  string UisEndpointCid;
  string KtmRmEndpointCid;
};

[locale(1033)] 
class DtcLogFileSettings
{
  string Path;
  uint32 SizeInMB;
  uint32 MaxSizeInMB;
};

[locale(1033)] 
class DtcNetworkSettings
{
  boolean InboundTransactionsEnabled;
  boolean OutboundTransactionsEnabled;
  boolean RemoteClientAccessEnabled;
  boolean RemoteAdministrationAccessEnabled;
  boolean XATransactionsEnabled;
  boolean LUTransactionsEnabled;
  string AuthenticationLevel;
};

[locale(1033)] 
class DtcTransactionInfo
{
  string TransactionId;
  uint32 IsolationLevel;
  string State;
  string Parent;
  string Description;
};

[locale(1033)] 
class DtcTransactionsStatistics
{
  uint32 Open;
  uint32 Committed;
  uint32 Aborted;
  uint32 InDoubt;
  uint32 Heuristic;
  uint32 OpenMax;
  uint32 CommittedMax;
  uint32 AbortedMax;
  uint32 InDoubtMax;
  uint32 HeuristicMax;
  uint32 ForcedCommit;
  uint32 ForcedAbort;
  uint32 SinglePhaseInDoubt;
};

[locale(1033)] 
class DtcTransactionsTraceSession
{
  string SessionStatus;
  uint32 BufferCount;
};

[locale(1033)] 
class DtcTransactionsTraceSettings
{
  boolean AllTransactionsTracingEnabled;
  boolean AbortedTransactionsTracingEnabled;
  boolean LongLivedTransactionsTracingEnabled;
};

[locale(1033),dynamic : ToInstance,provider("MsDtcWmi") : ToInstance] 
class MSFT_DtcAdvancedHostSettingTask
{
  [implemented,static] uint32 Get([in] string Name,[in] string Subkey,[out] string cmdletOutput);
  [implemented,static] uint32 Set([in] string Name,[in] string Subkey,[in] string Value,[in] string Type);
};

[locale(1033),dynamic : ToInstance,provider("MsDtcWmi") : ToInstance] 
class MSFT_DtcAdvancedSettingTask
{
  [implemented,static] uint32 Get([in] string DtcName,[in] string Subkey,[in] string Name,[out] string cmdletOutput);
  [implemented,static] uint32 Set([in] string DtcName,[in] string Subkey,[in] string Name,[in] string Value,[in] string Type);
};

[locale(1033),dynamic : ToInstance,provider("MsDtcWmi") : ToInstance] 
class MSFT_DtcClusterDefaultTask
{
  [implemented,static] uint32 Get([out] string cmdletOutput);
  [implemented,static] uint32 Set([in] string DtcResourceName,[out] string cmdletOutput);
};

[locale(1033),dynamic : ToInstance,provider("MsDtcWmi") : ToInstance] 
class MSFT_DtcClusterTMMappingTask
{
  [implemented,static] uint32 Get([in] string Name,[EmbeddedInstance("DtcClusterTMMapping"),out] DtcClusterTMMapping cmdletOutput[]);
  [implemented,static] uint32 AddByComPlusSet([in] string Name,[in] string ClusterResourceName,[in] boolean Local,[in] string ComPlusAppId);
  [implemented,static] uint32 AddByExeSet([in] string Name,[in] string ClusterResourceName,[in] boolean Local,[in] string ExecutablePath);
  [implemented,static] uint32 AddByServiceSet([in] string Name,[in] string ClusterResourceName,[in] boolean Local,[in] string Service);
  [implemented,static] uint32 RemoveByAllParameterSet([in] boolean All);
  [implemented,static] uint32 RemoveByMappingNameParameterSet([in] string Name);
  [implemented,static] uint32 SetByComPlusSet([in] string Name,[in] string ComPlusAppId,[in] string ClusterResourceName,[in] boolean Local);
  [implemented,static] uint32 SetByExeSet([in] string Name,[in] string ExecutablePath,[in] string ClusterResourceName,[in] boolean Local);
  [implemented,static] uint32 SetByServiceSet([in] string Name,[in] string Service,[in] string ClusterResourceName,[in] boolean Local);
};

[locale(1033),dynamic : ToInstance,provider("MsDtcWmi") : ToInstance] 
class MSFT_DtcDefaultTask
{
  [implemented,static] uint32 Get([out] string cmdletOutput);
  [implemented,static] uint32 Set([in] string ServerName);
};

[locale(1033),dynamic : ToInstance,provider("MsDtcWmi") : ToInstance] 
class MSFT_DtcLogTask
{
  [implemented,static] uint32 Get([in] string DtcName,[EmbeddedInstance("DtcLogFileSettings"),out] DtcLogFileSettings cmdletOutput);
  [implemented,static] uint32 Set([in] string DtcName,[in] string Path,[in] uint32 SizeInMB,[in] uint32 MaxSizeInMB);
  [implemented,static] uint32 Reset([in] string DtcName);
};

[locale(1033),dynamic : ToInstance,provider("MsDtcWmi") : ToInstance] 
class MSFT_DtcNetworkSettingTask
{
  [implemented,static] uint32 Get([in] string DtcName,[EmbeddedInstance("DtcNetworkSettings"),out] DtcNetworkSettings cmdletOutput);
  [implemented,static] uint32 SetByDisableNetwork([in] string DtcName,[in] boolean DisableNetworkAccess);
  [implemented,static] uint32 SetByNetworkSettings([in] string DtcName,[in] boolean InboundTransactionsEnabled,[in] boolean OutboundTransactionsEnabled,[in] boolean RemoteClientAccessEnabled,[in] boolean RemoteAdministrationAccessEnabled,[in] boolean XATransactionsEnabled,[in] boolean LUTransactionsEnabled,[in] string AuthenticationLevel);
};

[locale(1033),dynamic : ToInstance,provider("MsDtcWmi") : ToInstance] 
class MSFT_DtcTask
{
  [implemented,static] uint32 Get([in] string DtcName,[EmbeddedInstance("DtcInstance"),out] DtcInstance cmdletOutput[]);
  [implemented,static] uint32 Install([in] string LogPath,[in] string StartType);
  [implemented,static] uint32 Uninstall();
  [implemented,static] uint32 Start([in] string DtcName);
  [implemented,static] uint32 Stop([in] string DtcName,[in] boolean Recursive);
};

[locale(1033),dynamic : ToInstance,provider("MsDtcWmi") : ToInstance] 
class MSFT_DtcTransactionTask
{
  [implemented,static] uint32 Get([in] string DtcName,[EmbeddedInstance("DtcTransactionInfo"),out] DtcTransactionInfo cmdletOutput[]);
  [implemented,static] uint32 SetByAbortSet([in] string DtcName,[in] string TransactionId,[in] boolean Abort);
  [implemented,static] uint32 SetByCommitSet([in] string DtcName,[in] string TransactionId,[in] boolean Commit);
  [implemented,static] uint32 SetByForgetSet([in] string DtcName,[in] string TransactionId,[in] boolean Forget);
  [implemented,static] uint32 SetByTraceSet([in] string DtcName,[in] string TransactionId,[in] boolean Trace);
};

[locale(1033),dynamic : ToInstance,provider("MsDtcWmi") : ToInstance] 
class MSFT_DtcTransactionsStatisticsTask
{
  [implemented,static] uint32 Get([in] string DtcName,[EmbeddedInstance("DtcTransactionsStatistics"),out] DtcTransactionsStatistics cmdletOutput);
};

[locale(1033),dynamic : ToInstance,provider("MsDtcWmi") : ToInstance] 
class MSFT_DtcTransactionsTraceSessionTask
{
  [implemented,static] uint32 Stop();
  [implemented,static] uint32 Write();
  [implemented,static] uint32 Start();
  [implemented,static] uint32 Get([EmbeddedInstance("DtcTransactionsTraceSession"),out] DtcTransactionsTraceSession cmdletOutput);
  [implemented,static] uint32 Set([in] uint32 BufferCount);
};

[locale(1033),dynamic : ToInstance,provider("MsDtcWmi") : ToInstance] 
class MSFT_DtcTransactionsTraceSettingTask
{
  [implemented,static] uint32 Get([EmbeddedInstance("DtcTransactionsTraceSettings"),out] DtcTransactionsTraceSettings cmdletOutput);
  [implemented,static] uint32 SetByTraceAllParameterSet([in] boolean AllTransactionsTracingEnabled);
  [implemented,static] uint32 SetByTraceSelectedParameterSet([in] boolean AbortedTransactionsTracingEnabled,[in] boolean LongLivedTransactionsTracingEnabled);
};
