Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

277 lines
13 KiB

/*++
Copyright (c) 1997-2003 Microsoft Corporation, All Rights Reserved
Module Name:
nlbwmi.mof
Abstract:
Managed Object Format file that contains
descriptions of the WMI events generated
by the NLB driver
Author:
Karthic N. Sivathanupillai (karthicn) 02-Nov-2001
Revision History:
*/
/*
By default, kernel mode wmi objects are published under the root\wmi namespace.
Here are the steps involved :
1. Add this mof file to the list of files to compile in the sources file.
This will generate a binary mof file (.bmf). Fyi, a binary mof file can
also be generated by running "mofcomp -WMI -b:nlbwmi.bmf nlbwmi.mof".
2. From the binary mof file generated in step #1, Generate a C header
file containing structure definitions that correspond to the below
event classes. This is done in the makefile.inc file by running
"wmimofck -h$(O)\nlbwmimof.h $(O)\nlbwmi.bmf".
3. Include the header file generated in step #2 in the .c files of the driver
to create event objects.
4. Also, include the binary mof file generated in step #1 as a resource in
version.rc and give it a name. This name is registered with WMI in nlbwmi.c.
This is how the event classes show up automagically under the root\wmi namespace.
The following additional steps are involved in publishing the events under the
root\microsoftnlb namespace :
1. Add the #pragma namespace("\\\\.\\Root\\MicrosoftNLB") line to this mof file
2. Include a subset of definitions from wmi.mof in wlbsprov.mof
3. Mofcomp this file so that the event classes are added to the repository.
This is done by including this mof file from wlbsprov.mof - the mof file
of NLB wmi provider.
*/
#pragma namespace("\\\\.\\Root\\MicrosoftNLB")
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("NLB Node Control Event"):Amended,
guid("{BB066205-531F-4e55-9E70-F47DFDF5235F}")]
class MicrosoftNLB_NodeControlEvent : WmiEvent
{
[key, read] string InstanceName;
[read] boolean Active;
/* Start of properties common to all NLB events */
[WmiDataId( 1 ),
MaxLen(38), /* 32 bytes for GUID + 2 bytes for enclosing "{" & "}" + 4 bytes for "-" separators */
Description( "Guid of the Network adapter that has NLB bound to it" ):Amended
]
string AdapterGuid;
[WmiDataId( 2 ),
MaxLen(15),
Description( "Cluster IP Address of the NLB cluster" ):Amended
]
string ClusterIPAddress;
[WmiDataId( 3 ),
Description( "Host Priority of the host in the NLB cluster" ):Amended
]
uint32 HostPriority;
/* End of properties common to all NLB events */
[WmiDataId( 4 ),
Description( "Event Id" ):Amended,
Values { "NLB_EVENT_NODE_STARTED",
"NLB_EVENT_NODE_STOPPED",
"NLB_EVENT_NODE_DRAINING",
"NLB_EVENT_NODE_SUSPENDED",
"NLB_EVENT_NODE_RESUMED",
"NLB_EVENT_NODE_RELOADED",
"NLB_EVENT_NODE_BOUND_AND_STARTED",
"NLB_EVENT_NODE_BOUND_AND_STOPPED",
"NLB_EVENT_NODE_BOUND_AND_SUSPENDED",
"NLB_EVENT_NODE_UNBOUND" } : ToInstance,
ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" } : ToInstance
]
uint32 Id;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("NLB Port Control Event"):Amended,
guid("{490BB97C-7D3B-4777-8216-DC11FCC02705}")]
class MicrosoftNLB_PortControlEvent : WmiEvent
{
[key, read] string InstanceName;
[read] boolean Active;
/* Start of properties common to all NLB events */
[WmiDataId( 1 ),
MaxLen(38), /* 32 bytes for GUID + 2 bytes for enclosing "{" & "}" + 4 bytes for "-" separators */
Description( "Guid of the Network adapter that has NLB bound to it" ):Amended
]
string AdapterGuid;
[WmiDataId( 2 ),
MaxLen(15),
Description( "Cluster IP Address of the NLB cluster" ):Amended
]
string ClusterIPAddress;
[WmiDataId( 3 ),
Description( "Host Priority of the host in the NLB cluster" ):Amended
]
uint32 HostPriority;
/* End of properties common to all NLB events */
[WmiDataId( 4 ),
MaxLen(15),
Description( "Virtual IP Address of the affected port rule(s)" ):Amended
]
string VirtualIPAddress;
[WmiDataId( 5 ),
Description( "Port number of the affected port rule(s)" ):Amended
]
uint32 Port;
[WmiDataId( 6 ),
Description( "Event Id" ):Amended,
Values { "NLB_EVENT_PORT_ENABLED", "NLB_EVENT_PORT_DISABLED", "NLB_EVENT_PORT_DRAINING" } : ToInstance,
ValueMap { "1" , "2" , "3" } : ToInstance
]
uint32 Id;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("NLB Converging Event"):Amended,
guid("{812C7978-7D1B-40dc-89D7-D3C9D36A77B4}")]
class MicrosoftNLB_ConvergingEvent : WmiEvent
{
[key, read] string InstanceName;
[read] boolean Active;
/* Start of properties common to all NLB events */
[WmiDataId( 1 ),
MaxLen(38), /* 32 bytes for GUID + 2 bytes for enclosing "{" & "}" + 4 bytes for "-" separators */
Description( "Guid of the Network adapter that has NLB bound to it" ):Amended
]
string AdapterGuid;
[WmiDataId( 2 ),
MaxLen(15),
Description( "Cluster IP Address of the NLB cluster" ):Amended
]
string ClusterIPAddress;
[WmiDataId( 3 ),
Description( "Host Priority of the host in the NLB cluster" ):Amended
]
uint32 HostPriority;
/* End of properties common to all NLB events */
[WmiDataId( 4 ),
Description( "Cause for Convergence" ):Amended,
Values { "NLB_EVENT_CONVERGING_BAD_CONFIG",
"NLB_EVENT_CONVERGING_NEW_MEMBER",
"NLB_EVENT_CONVERGING_UNKNOWN",
"NLB_EVENT_CONVERGING_DUPLICATE_HOST_ID",
"NLB_EVENT_CONVERGING_NUM_RULES",
"NLB_EVENT_CONVERGING_MODIFIED_RULES",
"NLB_EVENT_CONVERGING_MEMBER_LOST",
"NLB_EVENT_CONVERGING_MODIFIED_PARAMS" } : ToInstance,
ValueMap { "1", "2", "3", "4", "5", "6", "7", "8" } : ToInstance
]
uint32 Cause;
[WmiDataId( 5 ),
MaxLen(15),
Description( "Dedicated IP Address of the host in the NLB cluster that is the cause of convergence" ):Amended
]
string InitiatorDedicatedIP;
[WmiDataId( 6 ),
Description( "Host Priority of the host in the NLB cluster that is the cause of convergence" ):Amended
]
uint32 InitiatorHostPriority;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("NLB Converged Event"):Amended,
guid("{7131AA4D-F5D0-4d5d-A232-49785088F74E}")]
class MicrosoftNLB_ConvergedEvent : WmiEvent
{
[key, read] string InstanceName;
[read] boolean Active;
/* Start of properties common to all NLB events */
[WmiDataId( 1 ),
MaxLen(38), /* 32 bytes for GUID + 2 bytes for enclosing "{" & "}" + 4 bytes for "-" separators */
Description( "Guid of the Network adapter that has NLB bound to it" ):Amended
]
string AdapterGuid;
[WmiDataId( 2 ),
MaxLen(15),
Description( "Cluster IP Address of the NLB cluster" ):Amended
]
string ClusterIPAddress;
[WmiDataId( 3 ),
Description( "Host Priority of the host in the NLB cluster" ):Amended
]
uint32 HostPriority;
/* End of properties common to all NLB events */
[WmiDataId( 4 ),
Description( "Bit map of the hosts in the NLB cluster" ):Amended
]
uint32 HostMap;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("NLB Startup Event"):Amended,
guid("{98E0E934-4952-434e-A7BA-F4E891E96A02}")]
class MicrosoftNLB_StartupEvent : WmiEvent
{
[key, read] string InstanceName;
[read] boolean Active;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("NLB Shutdown Event"):Amended,
guid("{FD868ED2-8613-480d-B33B-8FE0A8796605}")]
class MicrosoftNLB_ShutdownEvent : WmiEvent
{
[key, read] string InstanceName;
[read] boolean Active;
};