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

ISensNetwork

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

公式ドキュメント

ISensNetwork インターフェイスは、System Event Notification Service (SENS) が発行するネットワークイベントを処理します。

メソッド 5

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

vtbl 7 HRESULT ConnectionMade(LPWSTR bstrConnection, DWORD ulType, SENS_QOCINFO* lpQOCInfo)

ConnectionMade メソッドは、指定された接続が確立されたことをアプリケーションに通知します。

bstrConnectionLPWSTRinWAN 接続の場合、渡される情報は接続名です。WAN 接続では、接続名は電話帳エントリの名前です。LAN 接続の場合、渡される情報は "LAN connection" です。
ulTypeDWORDin接続の種類。この値は CONNECTION_LAN (0) または CONNECTION_WAN (1) のいずれかです。
lpQOCInfoSENS_QOCINFO*in接続品質 (Quality of Connection) 情報を格納する SENS_QOCINFO 構造体へのポインター。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
メソッドは正常に終了しました。

解説(Remarks)

SENS は、指定された接続が確立されたことをアプリケーションに通知するためにこのメソッドを呼び出します。SENS は接続品質情報を格納した構造体へのポインターも提供します。

パブリッシャープロパティ ulConnectionMadeTypeCONNECTION_LANCONNECTION_WAN、またはその両方を設定することでフィルタリングを行えます。パブリッシャープロパティの設定には IEventSubscription::PutPublisherProperty を使用します。

vtbl 8 HRESULT ConnectionMadeNoQOCInfo(LPWSTR bstrConnection, DWORD ulType)

ConnectionMadeNoQOCInfo メソッドは、接続品質情報が利用できない状態で指定された接続が確立されたことをアプリケーションに通知します。

bstrConnectionLPWSTRinWAN 接続の場合、渡される情報は接続名です。WAN 接続では、接続名は電話帳エントリの名前です。LAN 接続の場合、渡される情報は "LAN connection" です。
ulTypeDWORDin接続の種類。この値は CONNECTION_LAN (0) または CONNECTION_WAN (1) のいずれかです。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
メソッドは正常に終了しました。

解説(Remarks)

SENS は、接続品質情報が利用できない場合に、指定された接続が確立されたことをアプリケーションに通知するためにこのメソッドを呼び出します。

パブリッシャープロパティ ulConnectionMadeTypeNoQOCCONNECTION_LANCONNECTION_WAN、またはその両方を設定することでフィルタリングを行えます。パブリッシャープロパティの設定には IEventSubscription::PutPublisherProperty を使用します。

vtbl 9 HRESULT ConnectionLost(LPWSTR bstrConnection, SENS_CONNECTION_TYPE ulType)

ConnectionLost メソッドは、指定された接続が切断されたことをアプリケーションに通知します。

bstrConnectionLPWSTRinWAN 接続の場合、渡される情報は接続名です。WAN 接続では、接続名は電話帳エントリの名前です。LAN 接続の場合、渡される情報は "LAN connection" です。
ulTypeSENS_CONNECTION_TYPEin

接続の種類。この値は次のいずれかになります。

意味
CONNECTION_LAN
0
ローカルエリアネットワーク (LAN) への接続です。
CONNECTION_WAN
1
ワイドエリアネットワーク (WAN) への接続です。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
メソッドは正常に終了しました。

解説(Remarks)

SENS は、指定された接続が切断されたことをアプリケーションに通知するためにこのメソッドを呼び出します。

パブリッシャープロパティ ulConnectionLostTypeCONNECTION_LANCONNECTION_WAN、またはその両方を設定することでフィルタリングを行えます。パブリッシャープロパティの設定には IEventSubscription::PutPublisherProperty を使用します。

vtbl 10 HRESULT DestinationReachable(LPWSTR bstrDestination, LPWSTR bstrConnection, DWORD ulType, SENS_QOCINFO* lpQOCInfo)
bstrDestinationLPWSTRin到達可能になった宛先の名前を指定する。
bstrConnectionLPWSTRin宛先への到達に使用された接続の名前を指定する。
ulTypeDWORDin接続の種類を表す値を指定する。
lpQOCInfoSENS_QOCINFO*in接続のサービス品質(QOC)情報を格納した SENS_QOCINFO へのポインタである。
vtbl 11 HRESULT DestinationReachableNoQOCInfo(LPWSTR bstrDestination, LPWSTR bstrConnection, DWORD ulType)
bstrDestinationLPWSTRin到達可能になった宛先の名前を指定する。
bstrConnectionLPWSTRin宛先への到達に使用された接続の名前を指定する。
ulTypeDWORDin接続の種類を表す値を指定する。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_ISensNetwork "{D597BAB1-5B9F-11D1-8DD2-00AA004ABD5E}"
#usecom global ISensNetwork IID_ISensNetwork "{}"
#comfunc global ISensNetwork_ConnectionMade                 7 wstr,int,var
#comfunc global ISensNetwork_ConnectionMadeNoQOCInfo        8 wstr,int
#comfunc global ISensNetwork_ConnectionLost                 9 wstr,int
#comfunc global ISensNetwork_DestinationReachable           10 wstr,wstr,int,var
#comfunc global ISensNetwork_DestinationReachableNoQOCInfo  11 wstr,wstr,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。