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

IWbemPath

COM
IID3bc15af2-736c-477e-9e51-238af8667dcc継承元IUnknown自前メソッド開始 vtbl3

メソッド 26

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

vtbl 3 HRESULT SetText(DWORD uMode, LPWSTR pszPath)
uModeDWORDinパス文字列の解析モードを指定する。
pszPathLPWSTRin設定する WMI オブジェクトパスを表す文字列である。
vtbl 4 HRESULT GetText(INT lFlags, DWORD* puBuffLength, LPWSTR pszText)
lFlagsINTinテキスト生成の形式を制御するフラグを指定する。
puBuffLengthDWORD*inoutpszText バッファの長さ (文字数) を渡し、実際に必要または書き込まれた長さを受け取る入出力である。
pszTextLPWSTRout生成されたパスのテキスト表現を格納するバッファへのポインタである。
vtbl 5 HRESULT GetInfo(DWORD uRequestedInfo, ULONGLONG* puResponse)
uRequestedInfoDWORDin取得するパス情報の種類を指定する。
puResponseULONGLONG*out要求した情報の値を受け取る出力先である。
vtbl 6 HRESULT SetServer(LPWSTR Name)
NameLPWSTRinパスに設定するサーバー (マシン) 名を表す文字列である。
vtbl 7 HRESULT GetServer(DWORD* puNameBufLength, LPWSTR pName)
puNameBufLengthDWORD*inoutpName バッファの長さ (文字数) を渡し、実際に必要または書き込まれた長さを受け取る入出力である。
pNameLPWSTRout取得したサーバー名を格納するバッファへのポインタである。
vtbl 8 HRESULT GetNamespaceCount(DWORD* puCount)
puCountDWORD*outパスに含まれる名前空間の階層数を受け取る出力先である。
vtbl 9 HRESULT SetNamespaceAt(DWORD uIndex, LPWSTR pszName)
uIndexDWORDin設定する名前空間の階層インデックスを指定する。
pszNameLPWSTRin当該位置に設定する名前空間名を表す文字列である。
vtbl 10 HRESULT GetNamespaceAt(DWORD uIndex, DWORD* puNameBufLength, LPWSTR pName)
uIndexDWORDin取得する名前空間の階層インデックスを指定する。
puNameBufLengthDWORD*inoutpName バッファの長さ (文字数) を渡し、実際に必要または書き込まれた長さを受け取る入出力である。
pNameLPWSTRout取得した名前空間名を格納するバッファへのポインタである。
vtbl 11 HRESULT RemoveNamespaceAt(DWORD uIndex)
uIndexDWORDin削除する名前空間の階層インデックスを指定する。
vtbl 12 HRESULT RemoveAllNamespaces()
vtbl 13 HRESULT GetScopeCount(DWORD* puCount)
puCountDWORD*outパスに含まれるスコープの数を受け取る出力先である。
vtbl 14 HRESULT SetScope(DWORD uIndex, LPWSTR pszClass)
uIndexDWORDin設定するスコープのインデックスを指定する。
pszClassLPWSTRin当該スコープに設定するクラス名を表す文字列である。
vtbl 15 HRESULT SetScopeFromText(DWORD uIndex, LPWSTR pszText)
uIndexDWORDin設定するスコープのインデックスを指定する。
pszTextLPWSTRin当該スコープに設定する内容をテキスト形式で表した文字列である。
vtbl 16 HRESULT GetScope(DWORD uIndex, DWORD* puClassNameBufSize, LPWSTR pszClass, IWbemPathKeyList** pKeyList)
uIndexDWORDin取得するスコープのインデックスを指定する。
puClassNameBufSizeDWORD*inoutpszClass バッファのサイズ (文字数) を渡し、実際に必要または書き込まれたサイズを受け取る入出力である。
pszClassLPWSTRout取得したスコープのクラス名を格納するバッファへのポインタである。
pKeyListIWbemPathKeyList**out当該スコープのキーリスト (IWbemPathKeyList) を受け取る出力先である。
vtbl 17 HRESULT GetScopeAsText(DWORD uIndex, DWORD* puTextBufSize, LPWSTR pszText)
uIndexDWORDin取得するスコープのインデックスを指定する。
puTextBufSizeDWORD*inoutpszText バッファのサイズ (文字数) を渡し、実際に必要または書き込まれたサイズを受け取る入出力である。
pszTextLPWSTRout取得したスコープのテキスト表現を格納するバッファへのポインタである。
vtbl 18 HRESULT RemoveScope(DWORD uIndex)
uIndexDWORDin削除するスコープのインデックスを指定する。
vtbl 19 HRESULT RemoveAllScopes()
vtbl 20 HRESULT SetClassName(LPWSTR Name)
NameLPWSTRinパスに設定するクラス名を表す文字列である。
vtbl 21 HRESULT GetClassName(DWORD* puBuffLength, LPWSTR pszName)
puBuffLengthDWORD*inoutpszName バッファの長さ (文字数) を渡し、実際に必要または書き込まれた長さを受け取る入出力である。
pszNameLPWSTRoutoptional取得したクラス名を格納するバッファへのポインタである。
vtbl 22 HRESULT GetKeyList(IWbemPathKeyList** pOut)
pOutIWbemPathKeyList**outパスのキーリスト (IWbemPathKeyList) を受け取る出力先である。
vtbl 23 HRESULT CreateClassPart(INT lFlags, LPWSTR Name)
lFlagsINTinクラス部分の作成動作を制御するフラグを指定する。
NameLPWSTRin作成するクラス部分のクラス名を表す文字列である。
vtbl 24 HRESULT DeleteClassPart(INT lFlags)
lFlagsINTinクラス部分の削除動作を制御するフラグを指定する。
vtbl 25 BOOL IsRelative(LPWSTR wszMachine, LPWSTR wszNamespace)
wszMachineLPWSTRin比較の基準とするマシン名を表す文字列である。
wszNamespaceLPWSTRin比較の基準とする名前空間を表す文字列である。
vtbl 26 BOOL IsRelativeOrChild(LPWSTR wszMachine, LPWSTR wszNamespace, INT lFlags)
wszMachineLPWSTRin比較の基準とするマシン名を表す文字列である。
wszNamespaceLPWSTRin比較の基準とする名前空間を表す文字列である。
lFlagsINTin相対・子関係の判定動作を制御するフラグを指定する。
vtbl 27 BOOL IsLocal(LPWSTR wszMachine)
wszMachineLPWSTRinローカルかどうかを判定する基準とするマシン名を表す文字列である。
vtbl 28 BOOL IsSameClassName(LPWSTR wszClass)
wszClassLPWSTRinパスのクラス名と比較するクラス名を表す文字列である。

HSP用 COM定義

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

出力引数:
#define global IID_IWbemPath "{3BC15AF2-736C-477E-9E51-238AF8667DCC}"
#usecom global IWbemPath IID_IWbemPath "{}"
#comfunc global IWbemPath_SetText              3 int,wstr
#comfunc global IWbemPath_GetText              4 int,var,var
#comfunc global IWbemPath_GetInfo              5 int,var
#comfunc global IWbemPath_SetServer            6 wstr
#comfunc global IWbemPath_GetServer            7 var,var
#comfunc global IWbemPath_GetNamespaceCount    8 var
#comfunc global IWbemPath_SetNamespaceAt       9 int,wstr
#comfunc global IWbemPath_GetNamespaceAt       10 int,var,var
#comfunc global IWbemPath_RemoveNamespaceAt    11 int
#comfunc global IWbemPath_RemoveAllNamespaces  12
#comfunc global IWbemPath_GetScopeCount        13 var
#comfunc global IWbemPath_SetScope             14 int,wstr
#comfunc global IWbemPath_SetScopeFromText     15 int,wstr
#comfunc global IWbemPath_GetScope             16 int,var,var,sptr
#comfunc global IWbemPath_GetScopeAsText       17 int,var,var
#comfunc global IWbemPath_RemoveScope          18 int
#comfunc global IWbemPath_RemoveAllScopes      19
#comfunc global IWbemPath_SetClassName         20 wstr
#comfunc global IWbemPath_GetClassName         21 var,var
#comfunc global IWbemPath_GetKeyList           22 sptr
#comfunc global IWbemPath_CreateClassPart      23 int,wstr
#comfunc global IWbemPath_DeleteClassPart      24 int
#comfunc global IWbemPath_IsRelative           25 wstr,wstr
#comfunc global IWbemPath_IsRelativeOrChild    26 wstr,wstr,int
#comfunc global IWbemPath_IsLocal              27 wstr
#comfunc global IWbemPath_IsSameClassName      28 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。