ホーム › Media.WindowsMediaFormat › IWMReaderAdvanced4
IWMReaderAdvanced4
COMメソッド 9
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| dwOutputNum | DWORD | in | 対象出力の0始まりのインデックスである。 |
| pwLanguageCount | WORD* | out | その出力で利用可能な言語の総数を受け取る出力先である。 |
vtbl 41 HRESULT GetLanguage(DWORD dwOutputNum, WORD wLanguage, LPWSTR pwszLanguageString, WORD* pcchLanguageStringLength)
| dwOutputNum | DWORD | in | 対象出力の0始まりのインデックスである。 |
| wLanguage | WORD | in | 取得する言語の0始まりのインデックスである。 |
| pwszLanguageString | LPWSTR | out | RFC1766形式の言語文字列を受け取るバッファである。NULLでサイズ問い合わせ可能である。 |
| pcchLanguageStringLength | WORD* | inout | バッファ文字数を入力し必要文字数を受け取る入出力ポインタである。 |
| pdblFactor | DOUBLE* | out | サポートされる最大再生速度係数を受け取る出力先である。 |
| pfUsingFastCache | BOOL* | out | 高速キャッシュ(先読み)が使用中かを受け取る出力先である。 |
| wszNameSpace | LPWSTR | in | ログパラメーターの名前空間を示すワイド文字列である。 |
| wszName | LPWSTR | in | ログパラメーターの名前を示すワイド文字列である。 |
| wszValue | LPWSTR | in | ログパラメーターの値を示すワイド文字列である。 |
vtbl 45 HRESULT SendLogParams()
| pfCanSave | BOOL* | out | 現在のコンテンツをファイルに保存可能かを受け取る出力先である。 |
vtbl 47 HRESULT CancelSaveFileAs()
| pwszURL | LPWSTR | out | 現在開いているコンテンツのURLを受け取るバッファである。NULLでサイズ問い合わせ可能である。 |
| pcchURL | DWORD* | inout | バッファ文字数を入力し必要文字数を受け取る入出力ポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWMReaderAdvanced4 "{945A76A2-12AE-4D48-BD3C-CD1D90399B85}" #usecom global IWMReaderAdvanced4 IID_IWMReaderAdvanced4 "{}" #comfunc global IWMReaderAdvanced4_GetLanguageCount 40 int,var #comfunc global IWMReaderAdvanced4_GetLanguage 41 int,int,var,var #comfunc global IWMReaderAdvanced4_GetMaxSpeedFactor 42 var #comfunc global IWMReaderAdvanced4_IsUsingFastCache 43 var #comfunc global IWMReaderAdvanced4_AddLogParam 44 wstr,wstr,wstr #comfunc global IWMReaderAdvanced4_SendLogParams 45 #comfunc global IWMReaderAdvanced4_CanSaveFileAs 46 var #comfunc global IWMReaderAdvanced4_CancelSaveFileAs 47 #comfunc global IWMReaderAdvanced4_GetURL 48 var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IWMReaderAdvanced4 "{945A76A2-12AE-4D48-BD3C-CD1D90399B85}" #usecom global IWMReaderAdvanced4 IID_IWMReaderAdvanced4 "{}" #comfunc global IWMReaderAdvanced4_GetLanguageCount 40 int,sptr #comfunc global IWMReaderAdvanced4_GetLanguage 41 int,int,sptr,sptr #comfunc global IWMReaderAdvanced4_GetMaxSpeedFactor 42 sptr #comfunc global IWMReaderAdvanced4_IsUsingFastCache 43 sptr #comfunc global IWMReaderAdvanced4_AddLogParam 44 wstr,wstr,wstr #comfunc global IWMReaderAdvanced4_SendLogParams 45 #comfunc global IWMReaderAdvanced4_CanSaveFileAs 46 sptr #comfunc global IWMReaderAdvanced4_CancelSaveFileAs 47 #comfunc global IWMReaderAdvanced4_GetURL 48 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。