Win32 API 日本語リファレンス
ホームSystem.EventNotificationService › ISensLogon2

ISensLogon2

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDd597bab4-5b9f-11d1-8dd2-00aa004abd5e継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 5

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT Logon(LPWSTR bstrUserName, DWORD dwSessionId)
bstrUserNameLPWSTRinログオンしたユーザーの名前を指定する。
dwSessionIdDWORDin対象セッションのセッション ID を指定する。
vtbl 8 HRESULT Logoff(LPWSTR bstrUserName, DWORD dwSessionId)
bstrUserNameLPWSTRinログオフしたユーザーの名前を指定する。
dwSessionIdDWORDin対象セッションのセッション ID を指定する。
vtbl 9 HRESULT SessionDisconnect(LPWSTR bstrUserName, DWORD dwSessionId)
bstrUserNameLPWSTRinセッションが切断されたユーザーの名前を指定する。
dwSessionIdDWORDin切断されたセッションのセッション ID を指定する。
vtbl 10 HRESULT SessionReconnect(LPWSTR bstrUserName, DWORD dwSessionId)
bstrUserNameLPWSTRinセッションに再接続したユーザーの名前を指定する。
dwSessionIdDWORDin再接続されたセッションのセッション ID を指定する。
vtbl 11 HRESULT PostShell(LPWSTR bstrUserName, DWORD dwSessionId)
bstrUserNameLPWSTRinシェル起動後の通知対象となるユーザーの名前を指定する。
dwSessionIdDWORDin対象セッションのセッション ID を指定する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_ISensLogon2 "{D597BAB4-5B9F-11D1-8DD2-00AA004ABD5E}"
#usecom global ISensLogon2 IID_ISensLogon2 "{}"
#comfunc global ISensLogon2_Logon              7 wstr,int
#comfunc global ISensLogon2_Logoff             8 wstr,int
#comfunc global ISensLogon2_SessionDisconnect  9 wstr,int
#comfunc global ISensLogon2_SessionReconnect   10 wstr,int
#comfunc global ISensLogon2_PostShell          11 wstr,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。