#pragma autorecover
#pragma namespace ( "\\\\.\\root\\Microsoft\\Windows\\SmbWitness")

Instance of __Win32Provider as $prov
{
 Name = "SmbWitnessWmiv2provider";
 ClsId = "{0320F14D-D374-470E-B7B1-DAE86A4C0FF4}";
 ImpersonationLevel = 1;
 HostingModel = "Decoupled:Com:FoldIdentity(true)";
 securityDescriptor="O:BAG:BAD:(A;;0x1;;;BA)(A;;0x1;;;NS)(A;;0x1;;;AU)";
 version=0x40000001;
};

Instance of __MethodProviderRegistration
{
 Provider = $prov;
};

Instance of __InstanceProviderRegistration
{
 Provider = $prov;

 supportsGet = TRUE;
 supportsPut = TRUE;
 supportsDelete = TRUE;
 supportsEnumeration = TRUE;
 QuerySupportLevels = NULL;
};


[dynamic: ToInstance, provider("SmbWitnessWmiv2provider"): ToInstance]
class MSFT_SmbWitnessClient
{

	[key, read: ToSubClass] string ClientName;

	[read: ToSubClass] string WitnessNodeName;

	[read: ToSubClass] string FileServerNodeName;

	[read: ToSubClass] string NetworkName;

	[read: ToSubClass] string ShareName;
	[read: ToSubClass] string IPAddress;

	[ValueMap{"0", "1", "2", "3", "4", "5"}: ToSubClass, Values{"1", "2", "3", "4", "5", "6"}: ToSubClass Amended, read: ToSubClass] uint32 State;

	[BitMap{"1", "2", "3"}: ToSubClass, BitValues{"7", "8", "9"}: ToSubClass Amended, read: ToSubClass] uint32 Flags;
	[read: ToSubClass] uint32 ResourcesMonitored;

	[read: ToSubClass] uint32 NotificationsSent;

	[read: ToSubClass] uint32 NotificationsCancelled;

	[read: ToSubClass] uint32 QueuedNotifications;

	[implemented, static: DisableOverride ToSubClass] uint32 MoveClient([In] string ClientName, [In] string DestinationNode, [In] string NetworkName);

};
