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

IAMExtTransport

COM
IIDa03cd5f0-3045-11cf-8c44-00aa006b6814継承元IUnknown自前メソッド開始 vtbl3

メソッド 28

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

vtbl 3 HRESULT GetCapability(INT Capability, INT* pValue, DOUBLE* pdblValue)
CapabilityINTin問い合わせるトランスポート機能の種別をED_TRANSCAP_*定数で指定する。
pValueINT*out整数型の機能値を受け取る出力ポインタ。
pdblValueDOUBLE*out浮動小数型の機能値を受け取る出力ポインタ。
vtbl 4 HRESULT put_MediaState(INT State)
StateINTinメディアの状態(挿入/取り出し等)をED_MEDIA_*定数で指定する。
vtbl 5 HRESULT get_MediaState(INT* pState)
pStateINT*out現在のメディア状態を受け取る出力ポインタ。
vtbl 6 HRESULT put_LocalControl(INT State)
StateINTinローカル(本体)操作の許可状態を指定する。非ゼロで許可。
vtbl 7 HRESULT get_LocalControl(INT* pState)
pStateINT*out現在のローカル操作許可状態を受け取る出力ポインタ。
vtbl 8 HRESULT GetStatus(INT StatusItem, INT* pValue)
StatusItemINTin取得するステータス項目をED_MODE_*等の定数で指定する。
pValueINT*outステータス値を受け取る出力ポインタ。
vtbl 9 HRESULT GetTransportBasicParameters(INT Param, INT* pValue, LPWSTR* ppszData)
ParamINTin取得する基本パラメータの種別をED_*定数で指定する。
pValueINT*inout整数型のパラメータ値を受け取る出力ポインタ。
ppszDataLPWSTR*inout文字列型のパラメータ値を受け取るポインタ。COMメモリで割り当てられる。
vtbl 10 HRESULT SetTransportBasicParameters(INT Param, INT Value, LPWSTR pszData)
ParamINTin設定する基本パラメータの種別をED_*定数で指定する。
ValueINTin整数型の設定値。
pszDataLPWSTRin文字列型の設定値。該当しない場合はNULL可。
vtbl 11 HRESULT GetTransportVideoParameters(INT Param, INT* pValue)
ParamINTin取得する映像パラメータの種別をED_*定数で指定する。
pValueINT*out映像パラメータ値を受け取る出力ポインタ。
vtbl 12 HRESULT SetTransportVideoParameters(INT Param, INT Value)
ParamINTin設定する映像パラメータの種別をED_*定数で指定する。
ValueINTin設定する映像パラメータ値。
vtbl 13 HRESULT GetTransportAudioParameters(INT Param, INT* pValue)
ParamINTin取得する音声パラメータの種別をED_*定数で指定する。
pValueINT*out音声パラメータ値を受け取る出力ポインタ。
vtbl 14 HRESULT SetTransportAudioParameters(INT Param, INT Value)
ParamINTin設定する音声パラメータの種別をED_*定数で指定する。
ValueINTin設定する音声パラメータ値。
vtbl 15 HRESULT put_Mode(INT Mode)
ModeINTinトランスポートの動作モード(再生/録画/停止/早送り等)をED_MODE_*定数で指定する。
vtbl 16 HRESULT get_Mode(INT* pMode)
pModeINT*out現在の動作モードを受け取る出力ポインタ。
vtbl 17 HRESULT put_Rate(DOUBLE dblRate)
dblRateDOUBLEin再生速度の倍率。1.0で標準速、負値で逆再生。
vtbl 18 HRESULT get_Rate(DOUBLE* pdblRate)
pdblRateDOUBLE*out現在の再生速度倍率を受け取る出力ポインタ。
vtbl 19 HRESULT GetChase(INT* pEnabled, INT* pOffset, UINT_PTR* phEvent)
pEnabledINT*outチェイス機能の有効状態を受け取る出力ポインタ。
pOffsetINT*outチェイスのオフセット値を受け取る出力ポインタ。
phEventUINT_PTR*outチェイス通知に使うイベントハンドルを受け取る出力ポインタ。
vtbl 20 HRESULT SetChase(INT Enable, INT Offset, UINT_PTR hEvent)
EnableINTinチェイス機能を有効にするか。非ゼロで有効。
OffsetINTinチェイスのオフセット値を指定する。
hEventUINT_PTRin完了通知に使うイベントハンドルを指定する。
vtbl 21 HRESULT GetBump(INT* pSpeed, INT* pDuration)
pSpeedINT*outバンプ(微速送り)の速度を受け取る出力ポインタ。
pDurationINT*outバンプの継続時間を受け取る出力ポインタ。
vtbl 22 HRESULT SetBump(INT Speed, INT Duration)
SpeedINTinバンプ(微速送り)の速度を指定する。
DurationINTinバンプの継続時間を指定する。
vtbl 23 HRESULT get_AntiClogControl(INT* pEnabled)
pEnabledINT*outアンチクロッグ(テープ詰まり防止)制御の有効状態を受け取る出力ポインタ。
vtbl 24 HRESULT put_AntiClogControl(INT Enable)
EnableINTinアンチクロッグ制御を有効にするか。非ゼロで有効。
vtbl 25 HRESULT GetEditPropertySet(INT EditID, INT* pState)
EditIDINTin対象とする編集イベントの識別子。
pStateINT*out編集プロパティセットの状態を受け取る出力ポインタ。
vtbl 26 HRESULT SetEditPropertySet(INT* pEditID, INT State)
pEditIDINT*inout編集イベント識別子の入出力ポインタ。新規作成時は割り当てられたIDが返る。
StateINTin設定する編集プロパティセットの状態を指定する。
vtbl 27 HRESULT GetEditProperty(INT EditID, INT Param, INT* pValue)
EditIDINTin対象とする編集イベントの識別子。
ParamINTin取得する編集プロパティの種別をED_*定数で指定する。
pValueINT*out編集プロパティ値を受け取る出力ポインタ。
vtbl 28 HRESULT SetEditProperty(INT EditID, INT Param, INT Value)
EditIDINTin対象とする編集イベントの識別子。
ParamINTin設定する編集プロパティの種別をED_*定数で指定する。
ValueINTin設定する編集プロパティ値。
vtbl 29 HRESULT get_EditStart(INT* pValue)
pValueINT*out編集動作の開始タイミング設定を受け取る出力ポインタ。
vtbl 30 HRESULT put_EditStart(INT Value)
ValueINTin編集動作の開始タイミングを指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IAMExtTransport "{A03CD5F0-3045-11CF-8C44-00AA006B6814}"
#usecom global IAMExtTransport IID_IAMExtTransport "{}"
#comfunc global IAMExtTransport_GetCapability                3 int,var,var
#comfunc global IAMExtTransport_put_MediaState               4 int
#comfunc global IAMExtTransport_get_MediaState               5 var
#comfunc global IAMExtTransport_put_LocalControl             6 int
#comfunc global IAMExtTransport_get_LocalControl             7 var
#comfunc global IAMExtTransport_GetStatus                    8 int,var
#comfunc global IAMExtTransport_GetTransportBasicParameters  9 int,var,var
#comfunc global IAMExtTransport_SetTransportBasicParameters  10 int,int,wstr
#comfunc global IAMExtTransport_GetTransportVideoParameters  11 int,var
#comfunc global IAMExtTransport_SetTransportVideoParameters  12 int,int
#comfunc global IAMExtTransport_GetTransportAudioParameters  13 int,var
#comfunc global IAMExtTransport_SetTransportAudioParameters  14 int,int
#comfunc global IAMExtTransport_put_Mode                     15 int
#comfunc global IAMExtTransport_get_Mode                     16 var
#comfunc global IAMExtTransport_put_Rate                     17 double
#comfunc global IAMExtTransport_get_Rate                     18 var
#comfunc global IAMExtTransport_GetChase                     19 var,var,var
#comfunc global IAMExtTransport_SetChase                     20 int,int,sptr
#comfunc global IAMExtTransport_GetBump                      21 var,var
#comfunc global IAMExtTransport_SetBump                      22 int,int
#comfunc global IAMExtTransport_get_AntiClogControl          23 var
#comfunc global IAMExtTransport_put_AntiClogControl          24 int
#comfunc global IAMExtTransport_GetEditPropertySet           25 int,var
#comfunc global IAMExtTransport_SetEditPropertySet           26 var,int
#comfunc global IAMExtTransport_GetEditProperty              27 int,int,var
#comfunc global IAMExtTransport_SetEditProperty              28 int,int,int
#comfunc global IAMExtTransport_get_EditStart                29 var
#comfunc global IAMExtTransport_put_EditStart                30 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。