INetworkFolderInternal
COMメソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| displayType | DWORD* | out | ネットワーク リソースの表示種別を受け取る DWORD へのポインタである。 |
vtbl 4 HRESULT GetIDList(ITEMIDLIST** idList)
| idList | ITEMIDLIST** | out | フォルダを示す ITEMIDLIST を受け取るポインタである。 |
vtbl 5 HRESULT GetProvider(DWORD itemIdCount, ITEMIDLIST** itemIds, DWORD providerMaxLength, LPWSTR provider)
| itemIdCount | DWORD | in | 渡す ITEMIDLIST 配列の要素数を指定する DWORD 値である。 |
| itemIds | ITEMIDLIST** | in | 対象アイテムを示す ITEMIDLIST ポインタの配列である。 |
| providerMaxLength | DWORD | in | provider バッファに格納できる最大文字数を指定する DWORD 値である。 |
| provider | LPWSTR | out | プロバイダ名を受け取る文字列バッファである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_INetworkFolderInternal "{CEB38218-C971-47BB-A703-F0BC99CCDB81}" #usecom global INetworkFolderInternal IID_INetworkFolderInternal "{}" #comfunc global INetworkFolderInternal_GetResourceDisplayType 3 var #comfunc global INetworkFolderInternal_GetIDList 4 var #comfunc global INetworkFolderInternal_GetProvider 5 int,var,int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_INetworkFolderInternal "{CEB38218-C971-47BB-A703-F0BC99CCDB81}" #usecom global INetworkFolderInternal IID_INetworkFolderInternal "{}" #comfunc global INetworkFolderInternal_GetResourceDisplayType 3 sptr #comfunc global INetworkFolderInternal_GetIDList 4 sptr #comfunc global INetworkFolderInternal_GetProvider 5 int,sptr,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。