Win32 API 日本語リファレンス
ホームNetworking.NetworkListManager › INetwork

INetwork

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDdcb00002-570f-4a9b-8d69-199fdba5723b継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 13

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

vtbl 7 HRESULT GetName(LPWSTR* pszNetworkName)
pszNetworkNameLPWSTR*outネットワーク名を受け取る出力LPWSTR。呼び出し側がCoTaskMemFreeで解放する。
vtbl 8 HRESULT SetName(LPWSTR szNetworkNewName)
szNetworkNewNameLPWSTRinネットワークに設定する新しい名前を表す入力文字列。
vtbl 9 HRESULT GetDescription(LPWSTR* pszDescription)
pszDescriptionLPWSTR*outネットワークの説明文を受け取る出力LPWSTR。解放は呼び出し側で行う。
vtbl 10 HRESULT SetDescription(LPWSTR szDescription)
szDescriptionLPWSTRinネットワークに設定する新しい説明文を表す入力文字列。
vtbl 11 HRESULT GetNetworkId(GUID* pgdGuidNetworkId)
pgdGuidNetworkIdGUID*outネットワークを一意に識別するGUIDを受け取る出力先。
vtbl 12 HRESULT GetDomainType(NLM_DOMAIN_TYPE* pNetworkType)
pNetworkTypeNLM_DOMAIN_TYPE*outネットワークのドメイン種別を受け取る出力先。NLM_DOMAIN_TYPE列挙(非ドメイン/認証済み等)を返す。
vtbl 13 HRESULT GetNetworkConnections(IEnumNetworkConnections** ppEnumNetworkConnection)
ppEnumNetworkConnectionIEnumNetworkConnections**outこのネットワークに属する接続を列挙するIEnumNetworkConnectionsを返す出力ポインタ。
vtbl 14 HRESULT GetTimeCreatedAndConnected(DWORD* pdwLowDateTimeCreated, DWORD* pdwHighDateTimeCreated, DWORD* pdwLowDateTimeConnected, DWORD* pdwHighDateTimeConnected)
pdwLowDateTimeCreatedDWORD*outネットワーク作成日時(FILETIME)の下位32ビットを受け取る出力先。
pdwHighDateTimeCreatedDWORD*outネットワーク作成日時(FILETIME)の上位32ビットを受け取る出力先。
pdwLowDateTimeConnectedDWORD*out最終接続日時(FILETIME)の下位32ビットを受け取る出力先。
pdwHighDateTimeConnectedDWORD*out最終接続日時(FILETIME)の上位32ビットを受け取る出力先。
vtbl 15 HRESULT get_IsConnectedToInternet(VARIANT_BOOL* pbIsConnected)
pbIsConnectedVARIANT_BOOL*outこのネットワークがインターネットに到達可能かを示すVARIANT_BOOLを受け取る出力先。
vtbl 16 HRESULT get_IsConnected(VARIANT_BOOL* pbIsConnected)
pbIsConnectedVARIANT_BOOL*outこのネットワークに現在接続中かを示すVARIANT_BOOLを受け取る出力先。
vtbl 17 HRESULT GetConnectivity(NLM_CONNECTIVITY* pConnectivity)
pConnectivityNLM_CONNECTIVITY*outこのネットワークの接続性レベルを受け取る出力先。NLM_CONNECTIVITYフラグを返す。
vtbl 18 HRESULT GetCategory(NLM_NETWORK_CATEGORY* pCategory)
pCategoryNLM_NETWORK_CATEGORY*outネットワークの分類を受け取る出力先。NLM_NETWORK_CATEGORY列挙(パブリック/プライベート等)を返す。
vtbl 19 HRESULT SetCategory(NLM_NETWORK_CATEGORY NewCategory)
NewCategoryNLM_NETWORK_CATEGORYinネットワークに設定する新しい分類を表す入力NLM_NETWORK_CATEGORY値。

HSP用 COM定義

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

出力引数:
#define global IID_INetwork "{DCB00002-570F-4A9B-8D69-199FDBA5723B}"
#usecom global INetwork IID_INetwork "{}"
#comfunc global INetwork_GetName                     7 var
#comfunc global INetwork_SetName                     8 wstr
#comfunc global INetwork_GetDescription              9 var
#comfunc global INetwork_SetDescription              10 wstr
#comfunc global INetwork_GetNetworkId                11 var
#comfunc global INetwork_GetDomainType               12 var
#comfunc global INetwork_GetNetworkConnections       13 sptr
#comfunc global INetwork_GetTimeCreatedAndConnected  14 var,var,var,var
#comfunc global INetwork_get_IsConnectedToInternet   15 var
#comfunc global INetwork_get_IsConnected             16 var
#comfunc global INetwork_GetConnectivity             17 var
#comfunc global INetwork_GetCategory                 18 var
#comfunc global INetwork_SetCategory                 19 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。