#pragma autorecover
#pragma classflags(32)
#pragma namespace("\\\\.\\Root\\Microsoft\\Windows\\Wdac")

Instance of __Win32Provider as $prov
{
  Name = "WdacWmiProv";
  ClsId = "{9EE72A18-7BD4-44E1-8BA9-1E8E60D8CCA3}";
  ImpersonationLevel = 1;
  HostingModel = "NetworkServiceHost";
};

Instance of __MethodProviderRegistration
{
  Provider = $prov;
};

[locale(1033)] 
class MSFT_OdbcDriver
{
  [key,read,MaxLen(255)] string Name;
  [key,read] string Platform;
  [read,EmbeddedInstance("MSFT_OdbcKeyValuePair")] MSFT_OdbcKeyValuePair KeyValuePair[];
};

[locale(1033),dynamic : ToInstance,provider("WdacWmiProv") : ToInstance] 
class MSFT_OdbcDriverTask
{
  [implemented,static : ToSubclass DisableOverride] uint32 Get([In] string Name,[In] string Platform,[Out,EmbeddedInstance("MSFT_OdbcDriver"),Stream : ToSubclass DisableOverride] MSFT_OdbcDriver cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 SetByInputObject([In] boolean PassThru,[In] string SetPropertyValue[],[In] string RemovePropertyValue[],[In,EmbeddedInstance("MSFT_OdbcDriver")] MSFT_OdbcDriver InputObject[],[Out,EmbeddedInstance("MSFT_OdbcDriver"),Stream : ToSubclass DisableOverride] MSFT_OdbcDriver cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 SetByName([In] boolean PassThru,[In] string SetPropertyValue[],[In] string RemovePropertyValue[],[In] string Name,[In] string Platform,[Out,EmbeddedInstance("MSFT_OdbcDriver"),Stream : ToSubclass DisableOverride] MSFT_OdbcDriver cmdletOutput[]);
};

[locale(1033)] 
class MSFT_OdbcDsn
{
  [key,read,MaxLen(32)] string Name;
  [key,read] string DsnType;
  [key,read] string Platform;
  [MaxLen(255),read] string DriverName;
  [read,EmbeddedInstance("MSFT_OdbcKeyValuePair")] MSFT_OdbcKeyValuePair KeyValuePair[];
};

[locale(1033),dynamic : ToInstance,provider("WdacWmiProv") : ToInstance] 
class MSFT_OdbcDsnTask
{
  [implemented,static : ToSubclass DisableOverride] uint32 Get([In] string Name,[In] string DriverName,[In] string Platform,[In] string DsnType,[Out,EmbeddedInstance("MSFT_OdbcDsn"),Stream : ToSubclass DisableOverride] MSFT_OdbcDsn cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 Add([In] string Name,[In] string DriverName,[In] string SetPropertyValue[],[In] boolean PassThru,[In] string Platform,[In] string DsnType,[Out,EmbeddedInstance("MSFT_OdbcDsn"),Stream : ToSubclass DisableOverride] MSFT_OdbcDsn cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 SetByInputObject([In] boolean PassThru,[In] string SetPropertyValue[],[In] string RemovePropertyValue[],[In,EmbeddedInstance("MSFT_OdbcDsn")] MSFT_OdbcDsn InputObject[],[Out,EmbeddedInstance("MSFT_OdbcDsn"),Stream : ToSubclass DisableOverride] MSFT_OdbcDsn cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 SetByName([In] boolean PassThru,[In] string SetPropertyValue[],[In] string RemovePropertyValue[],[In] string Name,[In] string DriverName,[In] string Platform,[In] string DsnType,[Out,EmbeddedInstance("MSFT_OdbcDsn"),Stream : ToSubclass DisableOverride] MSFT_OdbcDsn cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 RemoveByDsnObject([In] boolean PassThru,[In,EmbeddedInstance("MSFT_OdbcDsn")] MSFT_OdbcDsn InputObject[],[Out,EmbeddedInstance("MSFT_OdbcDsn"),Stream : ToSubclass DisableOverride] MSFT_OdbcDsn cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 RemoveByName([In] boolean PassThru,[In] string Name,[In] string DriverName,[In] string Platform,[In] string DsnType,[Out,EmbeddedInstance("MSFT_OdbcDsn"),Stream : ToSubclass DisableOverride] MSFT_OdbcDsn cmdletOutput[]);
};

[locale(1033)] 
class MSFT_OdbcKeyValuePair
{
  [read,MaxLen(512)] string ParentKey;
  [read,MaxLen(512)] string key;
  [read,MaxLen(512)] string Value;
};

[locale(1033)] 
class MSFT_OdbcPerfCounter
{
  [key,read] string Platform;
  [read] boolean IsEnabled;
};

[locale(1033),dynamic : ToInstance,provider("WdacWmiProv") : ToInstance] 
class MSFT_OdbcPerfCounterTask
{
  [implemented,static : ToSubclass DisableOverride] uint32 EnableByInputObject([In] boolean PassThru,[In,EmbeddedInstance("MSFT_OdbcPerfCounter")] MSFT_OdbcPerfCounter InputObject[],[Out,EmbeddedInstance("MSFT_OdbcPerfCounter"),Stream : ToSubclass DisableOverride] MSFT_OdbcPerfCounter cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 EnableByPlatform([In] boolean PassThru,[In] string Platform,[Out,EmbeddedInstance("MSFT_OdbcPerfCounter"),Stream : ToSubclass DisableOverride] MSFT_OdbcPerfCounter cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 DisableByInputObject([In] boolean PassThru,[In,EmbeddedInstance("MSFT_OdbcPerfCounter")] MSFT_OdbcPerfCounter InputObject[],[Out,EmbeddedInstance("MSFT_OdbcPerfCounter"),Stream : ToSubclass DisableOverride] MSFT_OdbcPerfCounter cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 DisableByPlatform([In] boolean PassThru,[In] string Platform,[Out,EmbeddedInstance("MSFT_OdbcPerfCounter"),Stream : ToSubclass DisableOverride] MSFT_OdbcPerfCounter cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 Get([In] string Platform,[Out,EmbeddedInstance("MSFT_OdbcPerfCounter"),Stream : ToSubclass DisableOverride] MSFT_OdbcPerfCounter cmdletOutput[]);
};

[locale(1033)] 
class MSFT_WdacBidTrace
{
  [key,read] string Platform;
  [key,read] uint32 Mode;
  [key,read] string PathOrFolder;
  [key,read] uint32 ProcessId;
  [read] boolean IsEnabled;
  [read] boolean IsDefined;
  [read] string BidTraceAdapter;
};

[locale(1033),dynamic : ToInstance,provider("WdacWmiProv") : ToInstance] 
class MSFT_WdacBidTraceTask
{
  [implemented,static : ToSubclass DisableOverride] uint32 EnableByAllApp([In] boolean PassThru,[In] boolean IncludeAllApplications,[In] string Platform,[Out,EmbeddedInstance("MSFT_WdacBidTrace"),Stream : ToSubclass DisableOverride] MSFT_WdacBidTrace cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 EnableByFolder([In] boolean PassThru,[In] string Platform,[In] string Folder,[Out,EmbeddedInstance("MSFT_WdacBidTrace"),Stream : ToSubclass DisableOverride] MSFT_WdacBidTrace cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 EnableByInputObject([In] boolean PassThru,[In,EmbeddedInstance("MSFT_WdacBidTrace")] MSFT_WdacBidTrace InputObject[],[Out,EmbeddedInstance("MSFT_WdacBidTrace"),Stream : ToSubclass DisableOverride] MSFT_WdacBidTrace cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 EnableByPath([In] boolean PassThru,[In] string Path,[In] string Platform,[In] uint32 ProcessId,[Out,EmbeddedInstance("MSFT_WdacBidTrace"),Stream : ToSubclass DisableOverride] MSFT_WdacBidTrace cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 DisableByAllApp([In] boolean PassThru,[In] boolean IncludeAllApplications,[In] string Platform,[Out,EmbeddedInstance("MSFT_WdacBidTrace"),Stream : ToSubclass DisableOverride] MSFT_WdacBidTrace cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 DisableByFolder([In] boolean PassThru,[In] string Folder,[In] string Platform,[Out,EmbeddedInstance("MSFT_WdacBidTrace"),Stream : ToSubclass DisableOverride] MSFT_WdacBidTrace cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 DisableByInputObject([In] boolean PassThru,[In,EmbeddedInstance("MSFT_WdacBidTrace")] MSFT_WdacBidTrace InputObject[],[Out,EmbeddedInstance("MSFT_WdacBidTrace"),Stream : ToSubclass DisableOverride] MSFT_WdacBidTrace cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 DisableByPath([In] boolean PassThru,[In] string Path,[In] uint32 ProcessId,[In] string Platform,[Out,EmbeddedInstance("MSFT_WdacBidTrace"),Stream : ToSubclass DisableOverride] MSFT_WdacBidTrace cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 GetByAllApp([In] string Platform,[In] boolean IncludeAllApplications,[Out,EmbeddedInstance("MSFT_WdacBidTrace"),Stream : ToSubclass DisableOverride] MSFT_WdacBidTrace cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 GetByFolder([In] string Platform,[In] string Folder,[Out,EmbeddedInstance("MSFT_WdacBidTrace"),Stream : ToSubclass DisableOverride] MSFT_WdacBidTrace cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 GetByPath([In] string Platform,[In] string Path,[In] uint32 ProcessId,[Out,EmbeddedInstance("MSFT_WdacBidTrace"),Stream : ToSubclass DisableOverride] MSFT_WdacBidTrace cmdletOutput[]);
};
