/*++ Copyright (c) Microsoft Corporation. All rights reserved. Module Name: sensevts.idl Abstract: This file contains the ISensEvents interface which should be implemented by any Subscriber that subscribes to SENS events. Author: Gopal Parupudi [Notes:] optional-notes Revision History: GopalP 11/12/1997 Start. --*/ import "wtypes.idl"; // // SENS Events Type library // [ uuid(d597deed-5b9f-11d1-8dd2-00aa004abd5e), version(2.0), helpstring("SENS Events Type Library") ] library SensEvents { importlib("stdole2.tlb"); typedef [uuid(d597fad1-5b9f-11d1-8dd2-00aa004abd5e)] struct SENS_QOCINFO { DWORD dwSize; DWORD dwFlags; DWORD dwOutSpeed; DWORD dwInSpeed; } SENS_QOCINFO; typedef SENS_QOCINFO *LPSENS_QOCINFO; // // Interface ISensNetwork // [ object, uuid(d597bab1-5b9f-11d1-8dd2-00aa004abd5e), version(1.0), helpstring("SENS Network Events"), dual, ] interface ISensNetwork : IDispatch { [id(0x00000001)] HRESULT ConnectionMade( [in] BSTR bstrConnection, [in] ULONG ulType, [in] LPSENS_QOCINFO lpQOCInfo ); [id(0x00000002)] HRESULT ConnectionMadeNoQOCInfo( [in] BSTR bstrConnection, [in] ULONG ulType ); [id(0x00000003)] HRESULT ConnectionLost( [in] BSTR bstrConnection, [in] ULONG ulType ); [id(0x00000004)] HRESULT DestinationReachable( [in] BSTR bstrDestination, [in] BSTR bstrConnection, [in] ULONG ulType, [in] LPSENS_QOCINFO lpQOCInfo ); [id(0x00000005)] HRESULT DestinationReachableNoQOCInfo( [in] BSTR bstrDestination, [in] BSTR bstrConnection, [in] ULONG ulType ); }; // // Interface ISensOnNow // [ object, uuid(d597bab2-5b9f-11d1-8dd2-00aa004abd5e), version(1.0), helpstring("SENS OnNow Events"), dual ] interface ISensOnNow : IDispatch { [id(0x00000001)] HRESULT OnACPower( void ); [id(0x00000002)] HRESULT OnBatteryPower( [in] DWORD dwBatteryLifePercent ); [id(0x00000003)] HRESULT BatteryLow( [in] DWORD dwBatteryLifePercent ); }; // // Interface ISensLogon // [ object, uuid(d597bab3-5b9f-11d1-8dd2-00aa004abd5e), version(1.0), helpstring("SENS WinLogon Events"), dual ] interface ISensLogon : IDispatch { [id(0x00000001)] HRESULT Logon( [in] BSTR bstrUserName ); [id(0x00000002)] HRESULT Logoff( [in] BSTR bstrUserName ); [id(0x00000003)] HRESULT StartShell( [in] BSTR bstrUserName ); [id(0x00000004)] HRESULT DisplayLock( [in] BSTR bstrUserName ); [id(0x00000005)] HRESULT DisplayUnlock( [in] BSTR bstrUserName ); [id(0x00000006)] HRESULT StartScreenSaver( [in] BSTR bstrUserName ); [id(0x00000007)] HRESULT StopScreenSaver( [in] BSTR bstrUserName ); }; // // Interface ISensLogon2 // [ object, uuid(d597bab4-5b9f-11d1-8dd2-00aa004abd5e), version(1.0), helpstring("SENS WinLogon2 Events"), dual ] interface ISensLogon2 : IDispatch { [id(0x00000001)] HRESULT Logon( [in] BSTR bstrUserName, [in] DWORD dwSessionId ); [id(0x00000002)] HRESULT Logoff( [in] BSTR bstrUserName, [in] DWORD dwSessionId ); [id(0x00000003)] HRESULT SessionDisconnect( [in] BSTR bstrUserName, [in] DWORD dwSessionId ); [id(0x00000004)] HRESULT SessionReconnect( [in] BSTR bstrUserName, [in] DWORD dwSessionId ); [id(0x00000005)] HRESULT PostShell( [in] BSTR bstrUserName, [in] DWORD dwSessionId ); }; // // CoClass SENS // [ uuid(d597cafe-5b9f-11d1-8dd2-00aa004abd5e), helpstring("System Event Notification Service (SENS)") ] coclass SENS { [default, source] interface ISensNetwork; [source] interface ISensOnNow; [source] interface ISensLogon; [source] interface ISensLogon2; }; };