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

IStreamBufferConfigure3

COM
IID7e2d2a1e-7192-4bd7-80c1-061fd1d10402継承元IStreamBufferConfigure2自前メソッド開始 vtbl13

公式ドキュメント

IStreamBufferConfigure3 インターフェイスは、StreamBufferConfig オブジェクトによって公開されます。

解説(Remarks)

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

メソッド 4

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

vtbl 13 HRESULT SetStartRecConfig(BOOL fStartStopsCur)

SetStartRecConfig メソッドは、IStreamBufferRecordControl::Start メソッドが現在の録画を自動的に停止するかどうかを指定します。

fStartStopsCurBOOLinTRUE の場合、Start メソッドは現在の録画を自動的に停止します。それ以外の場合、別の録画が進行中であれば Start メソッドは失敗します。既定値は FALSE です。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

既定では、別の録画がまだ進行中の場合、IStreamBufferRecordControl::Start メソッドは失敗します。fStartStopsCur パラメーターが TRUE の場合、Start メソッドは進行中の録画を自動的に停止します。

vtbl 14 HRESULT GetStartRecConfig(BOOL* pfStartStopsCur)

GetStartRecConfig メソッドは、IStreamBufferRecordControl::Start メソッドが現在の録画を自動的に停止するかどうかを照会します。

pfStartStopsCurBOOL*outブール値を受け取ります。TRUE の場合、Start メソッドは現在の録画を自動的に停止します。それ以外の場合、別の録画が進行中であれば Start メソッドは失敗します。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
vtbl 15 HRESULT SetNamespace(LPWSTR pszNamespace)

SetNamespace メソッドは、リーダーとライターを同期するために Stream Buffer Engine が使用する同期オブジェクトの名前に付加されるプレフィックスを指定します。

pszNamespaceLPWSTRin

null で終わるワイド文字列へのポインター。NULL の場合、プレフィックスは使用されません。現在、次の値がサポートされています。

  • L"Global"
  • NULL

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
CO_E_NOT_SUPPORTED
指定されたプレフィックスはサポートされていません。

解説(Remarks)

既定値は "Global" です。

値が "Global" の場合、同期オブジェクトはグローバル名前空間に作成されます。これには Windows Vista 以降で管理者権限が必要です。値が NULL の場合、同期オブジェクトはローカルセッションの名前空間に作成され、管理者権限は必要ありません。

vtbl 16 HRESULT GetNamespace(LPWSTR* ppszNamespace)

GetNamespace メソッドは、リーダーとライターを同期するために Stream Buffer Engine が使用する同期オブジェクトの名前に付加されるプレフィックスを取得します。

ppszNamespaceLPWSTR*outnull で終わるワイド文字列へのポインターを受け取ります。呼び出し元は CoTaskMemFree を呼び出して文字列を解放する必要があります。プレフィックスが定義されていない場合、この変数は NULL ポインターを受け取ります。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

Return code Description
S_OK
メソッドは成功しました。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IStreamBufferConfigure3 "{7E2D2A1E-7192-4BD7-80C1-061FD1D10402}"
#usecom global IStreamBufferConfigure3 IID_IStreamBufferConfigure3 "{}"
#comfunc global IStreamBufferConfigure3_SetStartRecConfig  13 int
#comfunc global IStreamBufferConfigure3_GetStartRecConfig  14 var
#comfunc global IStreamBufferConfigure3_SetNamespace       15 wstr
#comfunc global IStreamBufferConfigure3_GetNamespace       16 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。