IStreamBufferConfigure3
COM公式ドキュメント
IStreamBufferConfigure3 インターフェイスは、StreamBufferConfig オブジェクトによって公開されます。
解説(Remarks)
このインターフェイスのインターフェイス識別子 (IID) を宣言するには、__uuidof 演算子を使用します: __uuidof(IStreamBufferConfigure3)。
メソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
SetStartRecConfig メソッドは、IStreamBufferRecordControl::Start メソッドが現在の録画を自動的に停止するかどうかを指定します。
| fStartStopsCur | BOOL | in | TRUE の場合、Start メソッドは現在の録画を自動的に停止します。それ以外の場合、別の録画が進行中であれば Start メソッドは失敗します。既定値は FALSE です。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。
| Return code | Description |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
既定では、別の録画がまだ進行中の場合、IStreamBufferRecordControl::Start メソッドは失敗します。fStartStopsCur パラメーターが TRUE の場合、Start メソッドは進行中の録画を自動的に停止します。
GetStartRecConfig メソッドは、IStreamBufferRecordControl::Start メソッドが現在の録画を自動的に停止するかどうかを照会します。
| pfStartStopsCur | BOOL* | out | ブール値を受け取ります。TRUE の場合、Start メソッドは現在の録画を自動的に停止します。それ以外の場合、別の録画が進行中であれば Start メソッドは失敗します。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。
| Return code | Description |
|---|---|
| メソッドは成功しました。 |
SetNamespace メソッドは、リーダーとライターを同期するために Stream Buffer Engine が使用する同期オブジェクトの名前に付加されるプレフィックスを指定します。
| pszNamespace | LPWSTR | in | null で終わるワイド文字列へのポインター。NULL の場合、プレフィックスは使用されません。現在、次の値がサポートされています。
|
戻り値
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。
| Return code | Description |
|---|---|
| メソッドは成功しました。 | |
| 指定されたプレフィックスはサポートされていません。 |
解説(Remarks)
既定値は "Global" です。
値が "Global" の場合、同期オブジェクトはグローバル名前空間に作成されます。これには Windows Vista 以降で管理者権限が必要です。値が NULL の場合、同期オブジェクトはローカルセッションの名前空間に作成され、管理者権限は必要ありません。
GetNamespace メソッドは、リーダーとライターを同期するために Stream Buffer Engine が使用する同期オブジェクトの名前に付加されるプレフィックスを取得します。
| ppszNamespace | LPWSTR* | out | null で終わるワイド文字列へのポインターを受け取ります。呼び出し元は CoTaskMemFree を呼び出して文字列を解放する必要があります。プレフィックスが定義されていない場合、この変数は NULL ポインターを受け取ります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。
| Return code | Description |
|---|---|
| メソッドは成功しました。 |
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 方式にも切替可。#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 sptr #comfunc global IStreamBufferConfigure3_SetNamespace 15 wstr #comfunc global IStreamBufferConfigure3_GetNamespace 16 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。