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.
 
 
 
 
 
 

65 lines
2.0 KiB

#include <guiddef.h>
#define NLB_EVENT_NO_DIP_STRING L"0.0.0.0"
typedef struct _NLB_WMI_EVENT
{
GUID *pGuid;
BOOL Enable;
}NLB_WMI_EVENT;
extern NLB_WMI_EVENT NlbWmiEvents[];
typedef enum
{
NodeControlEvent = 0, // DO NOT change this value. It is used as an index into the NlbWmiEvents array
PortRuleControlEvent,
ConvergingEvent,
ConvergedEvent,
StartupEvent,
ShutdownEvent
}NlbWmiEventId;
typedef enum
{
NLB_EVENT_NODE_STARTED = 1,
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
} NodeControlEventId;
typedef enum
{
NLB_EVENT_PORT_ENABLED = 1,
NLB_EVENT_PORT_DISABLED,
NLB_EVENT_PORT_DRAINING
} PortControlEventId;
typedef enum
{
NLB_EVENT_CONVERGING_BAD_CONFIG = 1,
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,
NLB_EVENT_CONVERGING_INVALID_VALUE // Add new events above this value
} ConvergingEventId;
NTSTATUS NlbWmi_Initialize();
VOID NlbWmi_Shutdown();
NTSTATUS NlbWmi_System_Control (PVOID DeviceObject, PIRP pIrp);
NTSTATUS NlbWmi_Fire_Event(NlbWmiEventId Event, PVOID pvInEventData, ULONG ulInEventDataSize);
void NlbWmi_Fire_NodeControlEvent(PMAIN_CTXT ctxtp, NodeControlEventId Id);
void NlbWmi_Fire_PortControlEvent(PMAIN_CTXT ctxtp, PortControlEventId Id, WCHAR *pwcVip, ULONG ulPort);
void NlbWmi_Fire_ConvergingEvent( PMAIN_CTXT ctxtp, ConvergingEventId Cause, WCHAR *pwcInitiatorDip, ULONG ulInitiatorHostPriority);
void NlbWmi_Fire_ConvergedEvent(PMAIN_CTXT ctxtp, ULONG ulHostMap);