Win32 API 日本語リファレンス
ホームMedia.MediaPlayer › IFeedFolder

IFeedFolder

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

メソッド 18

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

vtbl 7 HRESULT get_Feeds(IDispatch** disp)
dispIDispatch**outこのフォルダ直下のフィードコレクション(IFeedsEnum)を受け取る出力先。
vtbl 8 HRESULT get_Subfolders(IDispatch** disp)
dispIDispatch**outこのフォルダ直下のサブフォルダコレクションを受け取る出力先。
vtbl 9 HRESULT CreateFeed(LPWSTR feedName, LPWSTR feedUrl, IDispatch** disp)
feedNameLPWSTRin新規作成するフィードの表示名を指定する。
feedUrlLPWSTRinフィードの取得元となるURLを指定する。
dispIDispatch**out作成されたフィードのIDispatchを受け取る出力先。
vtbl 10 HRESULT CreateSubfolder(LPWSTR folderName, IDispatch** disp)
folderNameLPWSTRin新規作成するサブフォルダの名前を指定する。
dispIDispatch**out作成されたサブフォルダのIDispatchを受け取る出力先。
vtbl 11 HRESULT ExistsFeed(LPWSTR feedName, VARIANT_BOOL* exists)
feedNameLPWSTRin存在確認するフィードの名前を指定する。
existsVARIANT_BOOL*out存在する場合VARIANT_TRUEを受け取る出力先。
vtbl 12 HRESULT GetFeed(LPWSTR feedName, IDispatch** disp)
feedNameLPWSTRin取得するフィードの名前を指定する。
dispIDispatch**out該当フィードのIDispatchを受け取る出力先。
vtbl 13 HRESULT ExistsSubfolder(LPWSTR folderName, VARIANT_BOOL* exists)
folderNameLPWSTRin存在確認するサブフォルダの名前を指定する。
existsVARIANT_BOOL*out存在する場合VARIANT_TRUEを受け取る出力先。
vtbl 14 HRESULT GetSubfolder(LPWSTR folderName, IDispatch** disp)
folderNameLPWSTRin取得するサブフォルダの名前を指定する。
dispIDispatch**out該当サブフォルダのIDispatchを受け取る出力先。
vtbl 15 HRESULT Delete()
vtbl 16 HRESULT get_Name(LPWSTR* folderName)
folderNameLPWSTR*outフォルダ名を受け取る出力先。呼び出し側で解放する。
vtbl 17 HRESULT Rename(LPWSTR folderName)
folderNameLPWSTRinフォルダに付け直す新しい名前を指定する。
vtbl 18 HRESULT get_Path(LPWSTR* folderPath)
folderPathLPWSTR*outルートからのフォルダパスを受け取る出力先。
vtbl 19 HRESULT Move(LPWSTR newParentPath)
newParentPathLPWSTRin移動先の親フォルダのパスを指定する。
vtbl 20 HRESULT get_Parent(IDispatch** disp)
dispIDispatch**out親フォルダのIDispatchを受け取る出力先。ルートではNULL相当。
vtbl 21 HRESULT get_IsRoot(VARIANT_BOOL* isRoot)
isRootVARIANT_BOOL*outルートフォルダか否かをVARIANT_BOOLで受け取る出力先。
vtbl 22 HRESULT get_TotalUnreadItemCount(INT* count)
countINT*out配下を含む未読アイテムの合計数を受け取る出力先。
vtbl 23 HRESULT get_TotalItemCount(INT* count)
countINT*out配下を含むアイテムの合計数を受け取る出力先。
vtbl 24 HRESULT GetWatcher(FEEDS_EVENTS_SCOPE scope, FEEDS_EVENTS_MASK mask, IDispatch** disp)
scopeFEEDS_EVENTS_SCOPEin監視範囲を示すFEEDS_EVENTS_SCOPE列挙値。
maskFEEDS_EVENTS_MASKin監視対象イベント種別を示すFEEDS_EVENTS_MASKビットマスク。
dispIDispatch**out生成された変更監視オブジェクトのIDispatchを受け取る出力先。

HSP用 COM定義

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

出力引数:
#define global IID_IFeedFolder "{81F04AD1-4194-4D7D-86D6-11813CEC163C}"
#usecom global IFeedFolder IID_IFeedFolder "{}"
#comfunc global IFeedFolder_get_Feeds                 7 sptr
#comfunc global IFeedFolder_get_Subfolders            8 sptr
#comfunc global IFeedFolder_CreateFeed                9 wstr,wstr,sptr
#comfunc global IFeedFolder_CreateSubfolder           10 wstr,sptr
#comfunc global IFeedFolder_ExistsFeed                11 wstr,var
#comfunc global IFeedFolder_GetFeed                   12 wstr,sptr
#comfunc global IFeedFolder_ExistsSubfolder           13 wstr,var
#comfunc global IFeedFolder_GetSubfolder              14 wstr,sptr
#comfunc global IFeedFolder_Delete                    15
#comfunc global IFeedFolder_get_Name                  16 var
#comfunc global IFeedFolder_Rename                    17 wstr
#comfunc global IFeedFolder_get_Path                  18 var
#comfunc global IFeedFolder_Move                      19 wstr
#comfunc global IFeedFolder_get_Parent                20 sptr
#comfunc global IFeedFolder_get_IsRoot                21 var
#comfunc global IFeedFolder_get_TotalUnreadItemCount  22 var
#comfunc global IFeedFolder_get_TotalItemCount        23 var
#comfunc global IFeedFolder_GetWatcher                24 int,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。