#pragma autorecover
#pragma namespace("\\\\.\\root\\standardcimv2")

Instance of __Win32Provider as $prov
{
  Name = "NetEventPacketCapture";
  ClsId = "{C5E2E36E-0D2D-4FAC-A9F4-DDAD14633222}";
  ImpersonationLevel = 1;
  HostingModel = "LocalSystemHost";
  version = 1073741825;
};

Instance of __MethodProviderRegistration
{
  Provider = $prov;
};

Instance of __InstanceProviderRegistration
{
  Provider = $prov;
  supportsGet = TRUE;
  supportsPut = TRUE;
  supportsDelete = TRUE;
  supportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

[Association,Abstract,Aggregation : ToSubclass DisableOverride,UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,locale(1033)] 
class CIM_Component
{
  [key,Aggregate : ToSubclass DisableOverride] CIM_ManagedElement Ref GroupComponent;
  [key] CIM_ManagedElement Ref PartComponent;
};

[Abstract,UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,locale(1033)] 
class CIM_ManagedElement
{
  string InstanceID;
  [MaxLen(64) : ToSubclass] string Caption;
  string Description;
  string ElementName;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,Abstract,locale(1033)] 
class CIM_ManagedSystemElement : CIM_ManagedElement
{
  datetime InstallDate;
  [MaxLen(1024) : ToSubclass] string Name;
  [ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "..", "0x8000.."} : ToSubclass,ArrayType("Indexed") : ToSubclass DisableOverride,ModelCorrespondence{"CIM_ManagedSystemElement.StatusDescriptions"} : ToSubclass] uint16 OperationalStatus[];
  [ArrayType("Indexed") : ToSubclass DisableOverride,ModelCorrespondence{"CIM_ManagedSystemElement.OperationalStatus"} : ToSubclass] string StatusDescriptions[];
  [Deprecated{"CIM_ManagedSystemElement.OperationalStatus"},ValueMap{"OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service", "Stressed", "NonRecover", "No Contact", "Lost Comm", "Stopped"} : ToSubclass,MaxLen(10) : ToSubclass] string Status;
  [ValueMap{"0", "5", "10", "15", "20", "25", "30", ".."} : ToSubclass] uint16 HealthState;
  [ValueMap{"0", "1", "2", "3", "4", "..", "0x8000.."} : ToSubclass] uint16 CommunicationStatus;
  [ValueMap{"0", "1", "2", "3", "4", "5", "..", "0x8000.."} : ToSubclass,ModelCorrespondence{"CIM_EnabledLogicalElement.PrimaryStatus", "CIM_ManagedSystemElement.HealthState"} : ToSubclass] uint16 DetailedStatus;
  [ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "..", "0x8000.."} : ToSubclass,ModelCorrespondence{"CIM_EnabledLogicalElement.EnabledState"} : ToSubclass] uint16 OperatingStatus;
  [ValueMap{"0", "1", "2", "3", "..", "0x8000.."} : ToSubclass,ModelCorrespondence{"CIM_ManagedSystemElement.DetailedStatus", "CIM_ManagedSystemElement.HealthState"} : ToSubclass] uint16 PrimaryStatus;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,Abstract,locale(1033)] 
class CIM_LogicalElement : CIM_ManagedSystemElement
{
};

[Association,Aggregation : ToSubclass DisableOverride,UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("NetEventPacketCapture") : ToInstance] 
class MSFT_NetEventCaptureTarget_CaptureProvider : CIM_Component
{
  [key,Aggregate : ToSubclass DisableOverride,Override("GroupComponent")] MSFT_NetEventPacketCaptureProvider Ref GroupComponent;
  [key,Override("PartComponent")] MSFT_NetEventPacketCaptureTarget Ref PartComponent;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,Abstract,ClassVersion("1.0"),locale(1033)] 
class MSFT_NetEventPacketCaptureTarget : CIM_LogicalElement
{
  [MaxLen(1024) : ToSubclass] string Name;
  [key] string Id;
  string ProviderName;
  uint32 CaptureStatus;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.1"),locale(1033),dynamic : ToInstance,provider("NetEventPacketCapture") : ToInstance] 
class MSFT_NetEventNetworkAdapter : MSFT_NetEventPacketCaptureTarget
{
  string InterfaceDescription;
  boolean PromiscuousMode;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,Abstract,ClassVersion("1.0"),locale(1033)] 
class MSFT_NetEventProviderBase : CIM_LogicalElement
{
  [MaxLen(1024) : ToSubclass] string Name;
  [key] string Guid;
  [key] string SessionGuid;
  string SessionName;
  uint8 Level;
  uint64 MatchAnyKeyword;
  uint64 MatchAllKeyword;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("NetEventPacketCapture") : ToInstance] 
class MSFT_NetEventPacketCaptureProvider : MSFT_NetEventProviderBase
{
  uint8 CaptureType;
  boolean MultiLayer;
  string LinkLayerAddress[];
  uint16 EtherType[];
  string IPAddresses[];
  uint8 IPProtocols[];
  uint16 TruncationLength;
  uint8 VmCaptureDirection;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("NetEventPacketCapture") : ToInstance] 
class MSFT_NetEventProvider : MSFT_NetEventProviderBase
{
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("NetEventPacketCapture") : ToInstance] 
class MSFT_NetEventSession : CIM_LogicalElement
{
  [MaxLen(1024) : ToSubclass] string Name;
  [key] string Guid;
  uint8 CaptureMode;
  string LocalFilePath;
  uint32 MaxFileSize;
  uint32 TraceBufferSize;
  uint8 MaxNumberOfBuffers;
  uint8 SessionStatus;
  [implemented] uint32 Start();
  [implemented] uint32 Stop();
};

[Association,Aggregation : ToSubclass DisableOverride,UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("NetEventPacketCapture") : ToInstance] 
class MSFT_NetEventSession_Provider : CIM_Component
{
  [key,Aggregate : ToSubclass DisableOverride,Override("GroupComponent")] MSFT_NetEventSession Ref GroupComponent;
  [key,Override("PartComponent")] MSFT_NetEventProvider Ref PartComponent;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("NetEventPacketCapture") : ToInstance] 
class MSFT_NetEventVFPProvider : MSFT_NetEventProviderBase
{
  string DestinationMACAddresses[];
  uint16 TCPPorts[];
  uint16 UDPPorts[];
  string SourceMACAddresses[];
  uint16 VLANIds[];
  uint32 GREKeys[];
  uint32 TenantIds[];
  string SourceIPAddresses[];
  string DestinationIPAddresses[];
  uint8 IPProtocols[];
  uint32 VFPFlowDirection;
  string SwitchName;
  uint32 PortIds[];
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("NetEventPacketCapture") : ToInstance] 
class MSFT_NetEventVmNetworkAdapter : MSFT_NetEventPacketCaptureTarget
{
  string MacAddress;
  string SwitchName;
  string PortName;
  string VMName;
  string VMId;
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("NetEventPacketCapture") : ToInstance] 
class MSFT_NetEventVmSwitch : MSFT_NetEventPacketCaptureTarget
{
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("NetEventPacketCapture") : ToInstance] 
class MSFT_NetEventVmSwitchProvider : MSFT_NetEventProviderBase
{
  string SwitchName;
  uint32 PortIds[];
};

[UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,ClassVersion("1.0"),locale(1033),dynamic : ToInstance,provider("NetEventPacketCapture") : ToInstance] 
class MSFT_NetEventWFPCaptureProvider : MSFT_NetEventProviderBase
{
  uint64 CaptureLayerSet;
  boolean DiscardedEvents;
  string IPAddresses[];
  uint16 TCPPorts[];
  uint16 UDPPorts[];
};
