Win32 API 日本語リファレンス
ホームNetworkManagement.NetManagement › INetCfgComponent

INetCfgComponent

COM
IIDc0e8ae99-306e-11d1-aacf-00805fc1270e継承元IUnknown自前メソッド開始 vtbl3

メソッド 12

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetDisplayName(LPWSTR* ppszwDisplayName)
ppszwDisplayNameLPWSTR*outoptionalコンポーネントの表示名文字列を受け取る。CoTaskMemFreeで解放。
vtbl 4 HRESULT SetDisplayName(LPWSTR pszwDisplayName)
pszwDisplayNameLPWSTRinコンポーネントに設定する新しい表示名文字列。
vtbl 5 HRESULT GetHelpText(LPWSTR* pszwHelpText)
pszwHelpTextLPWSTR*outoptionalコンポーネントのヘルプ説明文字列を受け取る。CoTaskMemFreeで解放。
vtbl 6 HRESULT GetId(LPWSTR* ppszwId)
ppszwIdLPWSTR*outoptionalコンポーネントのID(INF ID)文字列を受け取る。CoTaskMemFreeで解放。
vtbl 7 HRESULT GetCharacteristics(DWORD* pdwCharacteristics)
pdwCharacteristicsDWORD*outコンポーネントの特性を表すNCF_*フラグの組み合わせを受け取る。
vtbl 8 HRESULT GetInstanceGuid(GUID* pGuid)
pGuidGUID*outoptionalコンポーネントインスタンスを一意に識別するGUIDを受け取る。
vtbl 9 HRESULT GetPnpDevNodeId(LPWSTR* ppszwDevNodeId)
ppszwDevNodeIdLPWSTR*outoptional対応するPnPデバイスノードのID文字列を受け取る。CoTaskMemFreeで解放。
vtbl 10 HRESULT GetClassGuid(GUID* pGuid)
pGuidGUID*outoptionalコンポーネントが属するセットアップクラスのGUIDを受け取る。
vtbl 11 HRESULT GetBindName(LPWSTR* ppszwBindName)
ppszwBindNameLPWSTR*outoptionalバインディングで用いるコンポーネントの内部名を受け取る。CoTaskMemFreeで解放。
vtbl 12 HRESULT GetDeviceStatus(DWORD* pulStatus)
pulStatusDWORD*outデバイスの状態を表すCM_PROB_*等のステータス値を受け取る。
vtbl 13 HRESULT OpenParamKey(HKEY* phkey)
phkeyHKEY*outoptionalコンポーネントのパラメータ用レジストリキーハンドルを受け取る。RegCloseKeyで閉じる。
vtbl 14 HRESULT RaisePropertyUi(HWND hwndParent, DWORD dwFlags, IUnknown* punkContext)
hwndParentHWNDinoptionalプロパティUIの親ウィンドウハンドル。
dwFlagsDWORDin表示するプロパティUIの種類を指定するNCRP_*フラグ。
punkContextIUnknown*inoptionalUIに渡すコンテキストオブジェクトのIUnknown。不要ならNULL。

HSP用 COM定義

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

出力引数:
#define global IID_INetCfgComponent "{C0E8AE99-306E-11D1-AACF-00805FC1270E}"
#usecom global INetCfgComponent IID_INetCfgComponent "{}"
#comfunc global INetCfgComponent_GetDisplayName      3 var
#comfunc global INetCfgComponent_SetDisplayName      4 wstr
#comfunc global INetCfgComponent_GetHelpText         5 var
#comfunc global INetCfgComponent_GetId               6 var
#comfunc global INetCfgComponent_GetCharacteristics  7 var
#comfunc global INetCfgComponent_GetInstanceGuid     8 var
#comfunc global INetCfgComponent_GetPnpDevNodeId     9 var
#comfunc global INetCfgComponent_GetClassGuid        10 var
#comfunc global INetCfgComponent_GetBindName         11 var
#comfunc global INetCfgComponent_GetDeviceStatus     12 var
#comfunc global INetCfgComponent_OpenParamKey        13 sptr
#comfunc global INetCfgComponent_RaisePropertyUi     14 sptr,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。