#pragma classflags("safeupdate")
#pragma autorecover
#pragma namespace("\\\\.\\root\\Microsoft\\Windows\\AppBackgroundTask")

Instance of __Win32Provider as $prov
{
  Name = "appbackgroundtask";
  ClsId = "{84840C72-9913-4D9F-BEE4-447A8A875B82}";
  ImpersonationLevel = 1;
  HostingModel = "NetworkServiceHost";
  version = 1073741825;
};

Instance of __MethodProviderRegistration
{
  Provider = $prov;
};

[ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("appbackgroundtask") : ToInstance] 
class PS_BackgroundTask
{
  [implemented,static : ToSubclass DisableOverride] uint32 Start([In] string TaskID[]);
  [implemented,static : ToSubclass DisableOverride] uint32 Unregister([In] string TaskID[]);
  [implemented,static : ToSubclass DisableOverride] uint32 Get([In] string PackageFamilyName,[In] boolean IncludeResourceUsage,[Out,EmbeddedInstance("MSFT_BackgroundTask") : ToSubclass, Stream: ToSubClass] MSFT_BackgroundTask cmdletOutput[]);
  [implemented,static : ToSubclass DisableOverride] uint32 Enable();
  [implemented,static : ToSubclass DisableOverride] uint32 Disable();
  [implemented,static : ToSubclass DisableOverride] uint32 Set([In] string mode);
};


class MSFT_BackgroundTask
{
	
	[key] string PackageFullName;
	
	[read: ToSubClass] string TaskID[];
	
	[read: ToSubClass] string TaskName[];
	
	[read: ToSubClass] string EntryPoint[];
	
	[read: ToSubClass] string PerfInfo[];

};

