ホーム › Media.MediaPlayer › IXFeedEnclosure
IXFeedEnclosure
COMメソッド 13
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| ppszUrl | LPWSTR* | out | エンクロージャ(添付メディア)の取得元URLを受け取る文字列ポインタ。 |
| ppszMimeType | LPWSTR* | out | エンクロージャのMIMEタイプ文字列を受け取るポインタ。CoTaskMemFreeで解放する。 |
| puiLength | DWORD* | out | エンクロージャのサイズ(バイト単位、DWORD)を受け取るポインタ。 |
vtbl 6 HRESULT AsyncDownload()
vtbl 7 HRESULT CancelAsyncDownload()
vtbl 8 HRESULT DownloadStatus(FEEDS_DOWNLOAD_STATUS* pfds)
| pfds | FEEDS_DOWNLOAD_STATUS* | out | エンクロージャの現在のダウンロード状態を示すFEEDS_DOWNLOAD_STATUS列挙値を受け取るポインタ。 |
vtbl 9 HRESULT LastDownloadError(FEEDS_DOWNLOAD_ERROR* pfde)
| pfde | FEEDS_DOWNLOAD_ERROR* | out | 直近のダウンロードエラーを示すFEEDS_DOWNLOAD_ERROR列挙値を受け取るポインタ。 |
| ppszPath | LPWSTR* | out | ダウンロード済みエンクロージャのローカルファイルパスを受け取る文字列ポインタ。 |
vtbl 11 HRESULT Parent(GUID* riid, void** ppv)
| riid | GUID* | in | 取得するインターフェイスの識別子(IID)を指すGUIDポインタ。 |
| ppv | void** | out | このエンクロージャが属する親項目のインターフェイスを受け取る出力ポインタ。 |
| ppszUrl | LPWSTR* | out | エンクロージャのダウンロードに用いられたURLを受け取る文字列ポインタ。 |
| ppszMimeType | LPWSTR* | out | ダウンロード時に取得されたMIMEタイプ文字列を受け取るポインタ。 |
vtbl 14 HRESULT RemoveFile()
vtbl 15 HRESULT SetFile(LPWSTR pszDownloadUrl, LPWSTR pszDownloadFilePath, LPWSTR pszDownloadMimeType, LPWSTR pszEnclosureFilename)
| pszDownloadUrl | LPWSTR | in | ダウンロード元のURLを指定する文字列。 |
| pszDownloadFilePath | LPWSTR | in | ダウンロード済みファイルの保存先パスを指定する文字列。 |
| pszDownloadMimeType | LPWSTR | in | ダウンロードしたファイルのMIMEタイプを指定する文字列。 |
| pszEnclosureFilename | LPWSTR | in | エンクロージャとして提示するファイル名を指定する文字列。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IXFeedEnclosure "{BFBFB953-644F-4792-B69C-DFACA4CBF89A}" #usecom global IXFeedEnclosure IID_IXFeedEnclosure "{}" #comfunc global IXFeedEnclosure_Url 3 var #comfunc global IXFeedEnclosure_Type 4 var #comfunc global IXFeedEnclosure_Length 5 var #comfunc global IXFeedEnclosure_AsyncDownload 6 #comfunc global IXFeedEnclosure_CancelAsyncDownload 7 #comfunc global IXFeedEnclosure_DownloadStatus 8 var #comfunc global IXFeedEnclosure_LastDownloadError 9 var #comfunc global IXFeedEnclosure_LocalPath 10 var #comfunc global IXFeedEnclosure_Parent 11 var,sptr #comfunc global IXFeedEnclosure_DownloadUrl 12 var #comfunc global IXFeedEnclosure_DownloadMimeType 13 var #comfunc global IXFeedEnclosure_RemoveFile 14 #comfunc global IXFeedEnclosure_SetFile 15 wstr,wstr,wstr,wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IXFeedEnclosure "{BFBFB953-644F-4792-B69C-DFACA4CBF89A}" #usecom global IXFeedEnclosure IID_IXFeedEnclosure "{}" #comfunc global IXFeedEnclosure_Url 3 sptr #comfunc global IXFeedEnclosure_Type 4 sptr #comfunc global IXFeedEnclosure_Length 5 sptr #comfunc global IXFeedEnclosure_AsyncDownload 6 #comfunc global IXFeedEnclosure_CancelAsyncDownload 7 #comfunc global IXFeedEnclosure_DownloadStatus 8 sptr #comfunc global IXFeedEnclosure_LastDownloadError 9 sptr #comfunc global IXFeedEnclosure_LocalPath 10 sptr #comfunc global IXFeedEnclosure_Parent 11 sptr,sptr #comfunc global IXFeedEnclosure_DownloadUrl 12 sptr #comfunc global IXFeedEnclosure_DownloadMimeType 13 sptr #comfunc global IXFeedEnclosure_RemoveFile 14 #comfunc global IXFeedEnclosure_SetFile 15 wstr,wstr,wstr,wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。