// Copyright (c) 1997-2003 Microsoft Corporation, All Rights Reserved

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

[Abstract,Singleton : ToInstance ToSubclass] 
class Win32_CurrentTime
{
  [read] uint32 Year;
  [read] uint32 Month;
  [read] uint32 Day;
  [read] uint32 DayOfWeek;
  [read] uint32 WeekInMonth;
  [read] uint32 Quarter;
  [read] uint32 Hour;
  [read] uint32 Minute;
  [read] uint32 Second;
  [read] uint32 Milliseconds;
};

[dynamic,provider("Win32ClockProvider")] 
class Win32_LocalTime : Win32_CurrentTime
{
};

[dynamic,provider("Win32ClockProvider")] 
class Win32_UTCTime : Win32_CurrentTime
{
};

Instance of __Win32Provider
{
  Name = "Win32ClockProvider";
  CLSID = "{C4819C8D-9AB8-4b2f-B8AE-C77DABF553D5}";
  HostingModel = "NetworkServiceHost";
};

Instance of __EventProviderRegistration
{
  provider = "__Win32Provider=\"Win32ClockProvider\"";
  EventQueryList = {"select * from __InstanceModificationEvent where TargetInstance isa \"Win32_LocalTime\"", "select * from __InstanceModificationEvent where TargetInstance isa \"Win32_UTCTime\""};
};

Instance of __InstanceProviderRegistration
{
  Provider = "__Win32Provider=\"Win32ClockProvider\"";
  SupportsPut = FALSE;
  SupportsGet = TRUE;
  SupportsDelete = FALSE;
  SupportsEnumeration = TRUE;
};
#pragma autorecover
#pragma namespace("\\\\.\\root\\cimv2")
instance of __namespace{ name="ms_409";};
#pragma namespace("\\\\.\\root\\cimv2\\ms_409")

[AMENDMENT, LOCALE("ms_409")] 
class Win32_CurrentTime
{
  [Description("The current matching year (4 digits)") : Amended ToSubclass] uint32 Year;
  [Description("The current matching month (1-12)") : Amended ToSubclass] uint32 Month;
  [Description("The current matching day (1-31)") : Amended ToSubclass] uint32 Day;
  [Description("The current matching day of the current week (0-6, Sunday being 0)") : Amended ToSubclass] uint32 DayOfWeek;
  [Description("The current week in the current month (1-6)") : Amended ToSubclass] uint32 WeekInMonth;
  [Description("The current quarter of the current year (1-4)") : Amended ToSubclass] uint32 Quarter;
  [Description("The current hour of the current day (0-23)") : Amended ToSubclass] uint32 Hour;
  [Description("The current minute (0-59)") : Amended ToSubclass] uint32 Minute;
  [Description("The current second of the current minute (0-59)") : Amended ToSubclass] uint32 Second;
  [Description("(currently not used)") : Amended ToSubclass] uint32 Milliseconds;
};

[Description("Describes an instance in time as returned by Win32ClockProvider.  When a query is submitted to the Win32LocalClockProvider, the results are returned as Win32_LocalTime objects with times matching the query.  These are returned as part of __InstanceModificationEvents") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class Win32_LocalTime : Win32_CurrentTime
{
};

[Description("Describes an instance in time as returned by Win32ClockProvider.  When a query is submitted to the Win32UTCClockProvider, the results are returned as Win32_UTCTime objects with times matching the query.  These are returned as part of __InstanceModificationEvents") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class Win32_UTCTime : Win32_CurrentTime
{
};
