|
|
/*++
Copyright (C) Microsoft Corporation, 1997 - 1999
Module Name:
senssink.hxx
Abstract:
Header file for Test subscriber.
Author:
Gopal Parupudi <GopalP>
[Notes:]
optional-notes
Revision History:
GopalP 11/19/1997 Start.
--*/
#ifndef __SENSSINK_HXX__
#define __SENSSINK_HXX__
#define TEST_SUBSCRIBER_NAME_NETWORK SENS_STRING("Test subscriber for SENS Network Events")
#define TEST_SUBSCRIBER_NAME_LOGON SENS_STRING("Test subscriber for SENS Logon Events")
#define TEST_SUBSCRIBER_NAME_LOGON2 SENS_STRING("Test subscriber for SENS Logon2 Events")
#define TEST_SUBSCRIBER_NAME_POWER SENS_STRING("Test subscriber for SENS Power Events")
#define TEST_SUBSCIPTION_NAME_NETALIVE SENS_BSTR("Test Subscription to SENS NetAlive Event")
#define TEST_SUBSCIPTION_NAME_NETALIVE_NOQOC SENS_BSTR("Test Subscription to SENS NetAliveNoQOCInfo Event")
#define TEST_SUBSCIPTION_NAME_NETLOST SENS_BSTR("Test Subscription to SENS NetLost Event")
#define TEST_SUBSCIPTION_NAME_REACH SENS_BSTR("Test Subscription to SENS DestinationReachable Event")
#define TEST_SUBSCIPTION_NAME_REACH_NOQOC SENS_BSTR("Test Subscription to SENS DestinationReachableNoQOCInfo Event")
#define TEST_SUBSCIPTION_NAME_LOGON SENS_BSTR("Test Subscription to SENS Logon Event")
#define TEST_SUBSCIPTION_NAME_LOGOFF SENS_BSTR("Test Subscription to SENS Logoff Event")
#define TEST_SUBSCIPTION_NAME_STARTUP SENS_BSTR("Test Subscription to SENS Startup Event")
#define TEST_SUBSCIPTION_NAME_STARTSHELL SENS_BSTR("Test Subscription to SENS StartShell Event")
#define TEST_SUBSCIPTION_NAME_SHUTDOWN SENS_BSTR("Test Subscription to SENS Shutdown Event")
#define TEST_SUBSCIPTION_NAME_LOCK SENS_BSTR("Test Subscription to SENS DisplayLock Event")
#define TEST_SUBSCIPTION_NAME_UNLOCK SENS_BSTR("Test Subscription to SENS DisplayUnlock Event")
#define TEST_SUBSCIPTION_NAME_STARTSCREENSAVER SENS_BSTR("Test Subscription to SENS StartScreenSaver Event")
#define TEST_SUBSCIPTION_NAME_STOPSCREENSAVER SENS_BSTR("Test Subscription to SENS StopScreenSaver Event")
#define TEST_SUBSCIPTION_NAME_ONAC SENS_BSTR("Test Subscription to SENS OnACPower Event")
#define TEST_SUBSCIPTION_NAME_ONBATTERY SENS_BSTR("Test Subscription to SENS OnBatteryPower Event")
#define TEST_SUBSCIPTION_NAME_BATTERYLOW SENS_BSTR("Test Subscription to SENS BatteryLow Event")
#define TEST_SUBSCIPTION_NAME_LOGON2 SENS_BSTR("Test Subscription to SENS ISensLogon2::Logon Event")
#define TEST_SUBSCIPTION_NAME_LOGOFF2 SENS_BSTR("Test Subscription to SENS ISensLogon2::Logoff Event")
#define TEST_SUBSCIPTION_NAME_POSTSHELL SENS_BSTR("Test Subscription to SENS ISensLogon2::PostShell Event")
#define TEST_SUBSCIPTION_NAME_SESSION_DISCONNECT SENS_BSTR("Test Subscription to SENS ISensLogon2::SessionDisconnect Event")
#define TEST_SUBSCIPTION_NAME_SESSION_RECONNECT SENS_BSTR("Test Subscription to SENS ISensLogon2::SessionReconnect Event")
//
// Typedefs
//
typedef struct _TEST_SUBSCRIBER { const GUID *pSubscriberGUID; const GUID *pSubscriberCLSID; TCHAR *strSubscriberName;
} TEST_SUBSCRIBER, *PTEST_SUBSCRIBER;
typedef struct _TEST_SUBSCRIPTION { const GUID *pSubscriberCLSID; const GUID *pSubscriptionID; LPOLESTR strSubscriptionName; LPOLESTR strMethodName; const GUID *pEventClassID; const GUID *pInterfaceID; BOOL bPublisherPropertyPresent; LPOLESTR strPropertyMethodName; LPOLESTR strPropertyMethodNameValue;
} TEST_SUBSCRIPTION, *PTEST_SUBSCRIPTION;
//
// Subscription Guids
//
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_NETALIVE = { /* b0230000-6143-11d1-8dd4-00aa004abd5e */ 0xb0230000, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_NETALIVE_NOQOC = { /* b0230001-6143-11d1-8dd4-00aa004abd5e */ 0xb0230001, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_NETLOST = { /* b0230002-6143-11d1-8dd4-00aa004abd5e */ 0xb0230002, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_REACH = { /* b0230005-6143-11d1-8dd4-00aa004abd5e */ 0xb0230005, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_REACH_NOQOC = { /* b0230006-6143-11d1-8dd4-00aa004abd5e */ 0xb0230006, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_REACH_NOQOC2 = { /* b0230007-6143-11d1-8dd4-00aa004abd5e */ 0xb0230007, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_LOGON = { /* b0230010-6143-11d1-8dd4-00aa004abd5e */ 0xb0230010, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_LOGOFF = { /* b0230011-6143-11d1-8dd4-00aa004abd5e */ 0xb0230011, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_STARTSHELL = { /* b0230013-6143-11d1-8dd4-00aa004abd5e */ 0xb0230013, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_LOCK = { /* b0230015-6143-11d1-8dd4-00aa004abd5e */ 0xb0230015, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_UNLOCK = { /* b0230016-6143-11d1-8dd4-00aa004abd5e */ 0xb0230016, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_STARTSCREENSAVER = { /* b0230017-6143-11d1-8dd4-00aa004abd5e */ 0xb0230017, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_STOPSCREENSAVER = { /* b0230018-6143-11d1-8dd4-00aa004abd5e */ 0xb0230018, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_ONAC = { /* b0230020-6143-11d1-8dd4-00aa004abd5e */ 0xb0230020, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_ONBATTERY = { /* b0230021-6143-11d1-8dd4-00aa004abd5e */ 0xb0230021, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_BATTERYLOW = { /* b0230022-6143-11d1-8dd4-00aa004abd5e */ 0xb0230022, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_LOGON2 = { /* b0230030-6143-11d1-8dd4-00aa004abd5e */ 0xb0230030, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_LOGOFF2 = { /* b0230031-6143-11d1-8dd4-00aa004abd5e */ 0xb0230031, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_POSTSHELL = { /* b0230032-6143-11d1-8dd4-00aa004abd5e */ 0xb0230032, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_SESSION_DISCONNECT = { /* b0230033-6143-11d1-8dd4-00aa004abd5e */ 0xb0230033, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
EXTERN_C const GUID GUID_TEST_SUBSCRIPTION_SESSION_RECONNECT = { /* b0230034-6143-11d1-8dd4-00aa004abd5e */ 0xb0230034, 0x6143, 0x11d1, {0x8d, 0xd4, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e} };
//
// Global Tables
//
const TEST_SUBSCRIBER gTestSubscribers[] = { { &CLSID_SensTestSubscriberNetwork, &CLSID_SensTestSubscriberNetwork, TEST_SUBSCRIBER_NAME_NETWORK },
{ &CLSID_SensTestSubscriberLogon, &CLSID_SensTestSubscriberLogon, TEST_SUBSCRIBER_NAME_LOGON },
{ &CLSID_SensTestSubscriberOnNow, &CLSID_SensTestSubscriberOnNow, TEST_SUBSCRIBER_NAME_POWER },
{ &CLSID_SensTestSubscriberLogon2, &CLSID_SensTestSubscriberLogon2, TEST_SUBSCRIBER_NAME_LOGON2 },
};
#define TEST_SUBSCRIBERS_COUNT (sizeof(gTestSubscribers)/sizeof(TEST_SUBSCRIBER))
const TEST_SUBSCRIPTION gTestSubscriptions[] = { { &CLSID_SensTestSubscriberNetwork, &GUID_TEST_SUBSCRIPTION_NETALIVE, TEST_SUBSCIPTION_NAME_NETALIVE, SENS_BSTR("ConnectionMade"), &SENSGUID_EVENTCLASS_NETWORK, &IID_ISensNetwork, TRUE, SENS_BSTR("ulConnectionMadeType"), SENS_BSTR("1") },
{ &CLSID_SensTestSubscriberNetwork, &GUID_TEST_SUBSCRIPTION_NETALIVE_NOQOC, TEST_SUBSCIPTION_NAME_NETALIVE_NOQOC, SENS_BSTR("ConnectionMadeNoQOCInfo"), &SENSGUID_EVENTCLASS_NETWORK, &IID_ISensNetwork, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberNetwork, &GUID_TEST_SUBSCRIPTION_NETLOST, TEST_SUBSCIPTION_NAME_NETLOST, SENS_BSTR("ConnectionLost"), &SENSGUID_EVENTCLASS_NETWORK, &IID_ISensNetwork, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberNetwork, &GUID_TEST_SUBSCRIPTION_REACH, TEST_SUBSCIPTION_NAME_REACH, SENS_BSTR("DestinationReachable"), &SENSGUID_EVENTCLASS_NETWORK, &IID_ISensNetwork, TRUE, SENS_BSTR("bstrDestination"), SENS_BSTR("trango"), },
{ &CLSID_SensTestSubscriberNetwork, &GUID_TEST_SUBSCRIPTION_REACH_NOQOC, TEST_SUBSCIPTION_NAME_REACH_NOQOC, SENS_BSTR("DestinationReachableNoQOCInfo"), &SENSGUID_EVENTCLASS_NETWORK, &IID_ISensNetwork, TRUE, SENS_BSTR("bstrDestinationNoQOC"), SENS_BSTR("http://mscominternal"), },
{ &CLSID_SensTestSubscriberNetwork, &GUID_TEST_SUBSCRIPTION_REACH_NOQOC2, TEST_SUBSCIPTION_NAME_REACH_NOQOC, SENS_BSTR("DestinationReachableNoQOCInfo"), &SENSGUID_EVENTCLASS_NETWORK, &IID_ISensNetwork, TRUE, SENS_BSTR("bstrDestinationNoQOC"), SENS_BSTR("netshow.ntdev.microsoft.com"), },
{ &CLSID_SensTestSubscriberLogon, &GUID_TEST_SUBSCRIPTION_LOGON, TEST_SUBSCIPTION_NAME_LOGON, SENS_BSTR("Logon"), &SENSGUID_EVENTCLASS_LOGON, &IID_ISensLogon, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberLogon, &GUID_TEST_SUBSCRIPTION_LOGOFF, TEST_SUBSCIPTION_NAME_LOGOFF, SENS_BSTR("Logoff"), &SENSGUID_EVENTCLASS_LOGON, &IID_ISensLogon, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberLogon, &GUID_TEST_SUBSCRIPTION_STARTSHELL, TEST_SUBSCIPTION_NAME_STARTSHELL, SENS_BSTR("StartShell"), &SENSGUID_EVENTCLASS_LOGON, &IID_ISensLogon, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberLogon, &GUID_TEST_SUBSCRIPTION_LOCK, TEST_SUBSCIPTION_NAME_LOCK, SENS_BSTR("DisplayLock"), &SENSGUID_EVENTCLASS_LOGON, &IID_ISensLogon, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberLogon, &GUID_TEST_SUBSCRIPTION_UNLOCK, TEST_SUBSCIPTION_NAME_UNLOCK, SENS_BSTR("DisplayUnlock"), &SENSGUID_EVENTCLASS_LOGON, &IID_ISensLogon, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberLogon, &GUID_TEST_SUBSCRIPTION_STARTSCREENSAVER, TEST_SUBSCIPTION_NAME_STARTSCREENSAVER, SENS_BSTR("StartScreenSaver"), &SENSGUID_EVENTCLASS_LOGON, &IID_ISensLogon, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberLogon, &GUID_TEST_SUBSCRIPTION_STOPSCREENSAVER, TEST_SUBSCIPTION_NAME_STOPSCREENSAVER, SENS_BSTR("StopScreenSaver"), &SENSGUID_EVENTCLASS_LOGON, &IID_ISensLogon, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberOnNow, &GUID_TEST_SUBSCRIPTION_ONAC, TEST_SUBSCIPTION_NAME_ONAC, SENS_BSTR("OnACPower"), &SENSGUID_EVENTCLASS_ONNOW, &IID_ISensOnNow, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberOnNow, &GUID_TEST_SUBSCRIPTION_ONBATTERY, TEST_SUBSCIPTION_NAME_ONBATTERY, SENS_BSTR("OnBatteryPower"), &SENSGUID_EVENTCLASS_ONNOW, &IID_ISensOnNow, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberOnNow, &GUID_TEST_SUBSCRIPTION_BATTERYLOW, TEST_SUBSCIPTION_NAME_BATTERYLOW, SENS_BSTR("BatteryLow"), &SENSGUID_EVENTCLASS_ONNOW, &IID_ISensOnNow, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberLogon2, &GUID_TEST_SUBSCRIPTION_LOGON2, TEST_SUBSCIPTION_NAME_LOGON2, SENS_BSTR("Logon"), &SENSGUID_EVENTCLASS_LOGON2, &IID_ISensLogon2, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberLogon2, &GUID_TEST_SUBSCRIPTION_LOGOFF2, TEST_SUBSCIPTION_NAME_LOGOFF2, SENS_BSTR("Logoff"), &SENSGUID_EVENTCLASS_LOGON2, &IID_ISensLogon2, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberLogon2, &GUID_TEST_SUBSCRIPTION_POSTSHELL, TEST_SUBSCIPTION_NAME_POSTSHELL, SENS_BSTR("PostShell"), &SENSGUID_EVENTCLASS_LOGON2, &IID_ISensLogon2, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberLogon2, &GUID_TEST_SUBSCRIPTION_SESSION_DISCONNECT, TEST_SUBSCIPTION_NAME_SESSION_DISCONNECT, SENS_BSTR("SessionDisconnect"), &SENSGUID_EVENTCLASS_LOGON2, &IID_ISensLogon2, FALSE, NULL, NULL },
{ &CLSID_SensTestSubscriberLogon2, &GUID_TEST_SUBSCRIPTION_SESSION_RECONNECT, TEST_SUBSCIPTION_NAME_SESSION_RECONNECT, SENS_BSTR("SessionReconnect"), &SENSGUID_EVENTCLASS_LOGON2, &IID_ISensLogon2, FALSE, NULL, NULL },
};
#define TEST_SUBSCRIPTIONS_COUNT (sizeof(gTestSubscriptions)/sizeof(TEST_SUBSCRIPTION))
//
// Forward declarations
//
HRESULT RegisterWithES( BOOL bUnregister );
HRESULT RegisterSubscriptions( BOOL bUnregister );
HRESULT RegisterSubscriberCLSID( REFIID clsid, TCHAR* strSubscriberName, BOOL bUnregister );
HRESULT CreateKey( HKEY hParentKey, const TCHAR* KeyName, const TCHAR* defaultValue, HKEY* hKey );
HRESULT CreateNamedValue( HKEY hKey, const TCHAR* title, const TCHAR* value );
HRESULT RecursiveDeleteKey( HKEY hKeyParent, const TCHAR* lpszKeyChild );
inline void Usage(void) { SensPrint(SENS_ERR, (SENS_STRING("\nUSAGE: senssink <option>\n\n"))); SensPrint(SENS_ERR, (SENS_STRING(" -i Register Test Subscriber with EventSystem.\n"))); SensPrint(SENS_ERR, (SENS_STRING(" -u Unregister Test Subscriber with EventSystem.\n"))); }
#endif // __SENSSINK_HXX__
|