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

IMSVidStreamBufferRecordingControl

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

公式ドキュメント

IMSVidStreamBufferRecordingControl インターフェイスは、Video Control を通じて stream buffer の recording オブジェクトをアプリケーションが管理できるようにします。

解説(Remarks)

このインターフェイスのインターフェイス識別子 (IID) を宣言するには、__uuidof 演算子を使用します: __uuidof(IMSVidStreamBufferRecordingControl)

メソッド 8

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

vtbl 7 HRESULT get_StartTime(INT* rtStart)

get_StartTime メソッドは、recording の開始時刻を取得します。

rtStartINT*out開始時刻を 1/100 秒単位で受け取る変数へのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には次のものがあります。

Return code Description
E_POINTER
NULL ポインター引数です。
S_OK
メソッドは成功しました。
vtbl 8 HRESULT put_StartTime(INT rtStart)

put_StartTime メソッドは、recording の開始時刻を設定します。

rtStartINTin開始時刻を 1/100 秒単位で指定します。

戻り値

このメソッドは HRESULT を返します。取り得る値には次のものがあります。

Return code Description
E_INVALIDARG
引数が無効です。
S_OK
メソッドは成功しました。
vtbl 9 HRESULT get_StopTime(INT* rtStop)

get_StopTime メソッドは、recording の停止時刻を取得します。

rtStopINT*out停止時刻を 1/100 秒単位で受け取る変数へのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には次のものがあります。

Return code Description
E_POINTER
NULL ポインター引数です。
S_OK
メソッドは成功しました。
vtbl 10 HRESULT put_StopTime(INT rtStop)

put_StopTime メソッドは、recording の停止時刻を設定します。

rtStopINTin停止時刻を 1/100 秒単位で指定します。

戻り値

このメソッドは HRESULT を返します。取り得る値には次のものがあります。

Return code Description
E_INVALIDARG
引数が無効です。
S_OK
メソッドは成功しました。
vtbl 11 HRESULT get_RecordingStopped(VARIANT_BOOL* phResult)

get_RecordingStopped メソッドは、recording が停止したかどうかを問い合わせます。

phResultVARIANT_BOOL*out

次のいずれかの値を受け取る変数へのポインター。

Value Description
VARIANT_FALSE recording は停止していません。
VARIANT_TRUE recording は停止しました。

戻り値

このメソッドは HRESULT を返します。取り得る値には次のものがあります。

Return code Description
S_OK
メソッドは成功しました。
vtbl 12 HRESULT get_RecordingStarted(VARIANT_BOOL* phResult)

get_RecordingStarted メソッドは、recording が開始したかどうかを問い合わせます。

phResultVARIANT_BOOL*out

次のいずれかの値を受け取る変数へのポインター。

Value Description
VARIANT_FALSE recording は開始していません。
VARIANT_TRUE recording は開始しました。

戻り値

このメソッドは HRESULT を返します。取り得る値には次のものがあります。

Return code Description
S_OK
メソッドは成功しました。
vtbl 13 HRESULT get_RecordingType(RecordingType* dwType)

get_RecordingType メソッドは、recording の種類 (content recording または reference recording のいずれか) を取得します。

dwTypeRecordingType*out

次のいずれかの値を受け取る変数へのポインター。

Value Description
CONTENT Content recording
REFERENCE Reference recording

戻り値

このメソッドは HRESULT を返します。取り得る値には次のものがあります。

Return code Description
S_OK
メソッドは成功しました。
vtbl 14 HRESULT get_RecordingAttribute(IUnknown** pRecordingAttribute)

get_RecordingAttribute メソッドは、このインターフェイスによって制御される stream buffer の Recording オブジェクトを取得します。

pRecordingAttributeIUnknown**outRecording オブジェクトの IUnknown インターフェイスへのポインターを受け取る変数のアドレス。

戻り値

このメソッドは HRESULT を返します。取り得る値には次のものがあります。

Return code Description
S_OK
メソッドは成功しました。

解説(Remarks)

呼び出し側は、返された IUnknown ポインターを解放する必要があります。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_IMSVidStreamBufferRecordingControl "{160621AA-BBBC-4326-A824-C395AEBC6E74}"
#usecom global IMSVidStreamBufferRecordingControl IID_IMSVidStreamBufferRecordingControl "{CAAFDD83-CEFC-4E3D-BA03-175F17A24F91}"
#comfunc global IMSVidStreamBufferRecordingControl_get_StartTime           7 var
#comfunc global IMSVidStreamBufferRecordingControl_put_StartTime           8 int
#comfunc global IMSVidStreamBufferRecordingControl_get_StopTime            9 var
#comfunc global IMSVidStreamBufferRecordingControl_put_StopTime            10 int
#comfunc global IMSVidStreamBufferRecordingControl_get_RecordingStopped    11 var
#comfunc global IMSVidStreamBufferRecordingControl_get_RecordingStarted    12 var
#comfunc global IMSVidStreamBufferRecordingControl_get_RecordingType       13 var
#comfunc global IMSVidStreamBufferRecordingControl_get_RecordingAttribute  14 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。