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

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

class MSFT_NCProvEvent : __ExtrinsicEvent
{
  string Namespace;
  string ProviderName;
  uint32 Result;
};

class MSFT_NCProvNewQuery : MSFT_NCProvEvent
{
  string QueryLanguage;
  string Query;
  uint32 ID;
};

class MSFT_NCProvCancelQuery : MSFT_NCProvEvent
{
  uint32 ID;
};

class MSFT_NCProvAccessCheck : MSFT_NCProvEvent
{
  string QueryLanguage;
  string Query;
  uint8 Sid[];
};

class MSFT_NCProvClientConnected : MSFT_NCProvEvent
{
  boolean Inproc;
};

class MSFT_WMI_GenericNonCOMEvent : __ExtrinsicEvent
{
  string PropertyNames[];
  string PropertyValues[];
  string ProviderName;
  uint32 ProcessId;
};

#pragma deleteinstance("MSFT_WMI_NonCOMEventProvider.Name=\"Standard Non-COM Event Provider\"",NOFAIL)

Instance of __Win32Provider as $NonCOMProvider
{
  Name = "Standard Non-COM Event Provider";
  HostingModel = "Decoupled:NonCOM";
};

Instance of __EventProviderRegistration
{
  Provider = $NonCOMProvider;
  EventQueryList = {"select * from MSFT_WMI_GenericNonCOMEvent", "select * from MSFT_NcProvEvent"};
};
#pragma autorecover
#pragma namespace("\\\\.\\root\\cimv2")
instance of __namespace{ name="ms_409";};
#pragma namespace("\\\\.\\root\\cimv2\\ms_409")

#pragma deleteinstance("MSFT_WMI_NonCOMEventProvider.Name=\"Standard Non-COM Event Provider\"",NOFAIL)
