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

IConfigAsfWriter

COM
IID45086030-f7e4-486a-b504-826bb5792a3b継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IConfigAsfWriter インターフェースは、WM ASF Writer フィルターを構成します。

メソッド 8

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

vtbl 3 HRESULT ConfigureFilterUsingProfileId(DWORD dwProfileId)

ConfigureFilterUsingProfileId メソッドは、WM ASF Writer フィルターに Windows Media Format 4.0 プロファイルを設定します。このメソッドは非推奨です。プロファイルの設定には IConfigAsfWriter::ConfigureFilterUsingProfile メソッドを使用してください。

dwProfileIdDWORDinWindows Media Format SDK バージョン 4.0 で定義されているプロファイル ID。

戻り値

次のいずれかの HRESULT 値を返します。

戻り値 説明
S_OK
成功しました。
E_FAIL
プロファイルが無効です。
VFW_E_WRONG_STATE
フィルターグラフが停止しています。

解説(Remarks)

このメソッドは、バージョン 4.0 の Windows Media Format SDK プロファイルを前提としているため、現在では廃止されています。

vtbl 4 HRESULT GetCurrentProfileId(DWORD* pdwProfileId)

GetCurrentProfileId メソッドは、フィルターが Windows Media Format 4.0 プロファイルを使用している場合に限り、WM ASF Writer フィルターのプロファイルの識別子を取得します。(非推奨)

pdwProfileIdDWORD*out現在のプロファイル ID を受け取ります。

戻り値

成功した場合は S_OK を返し、それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

このメソッドは、バージョン 4.0 の Windows Media Format SDK プロファイルにのみ適用されるため、廃止されています。現在のプロファイルを取得するには、IConfigAsfWriter::GetCurrentProfile を呼び出してください。

vtbl 5 HRESULT ConfigureFilterUsingProfileGuid(GUID* guidProfile)

ConfigureFilterUsingProfileGuid メソッドは、WM ASF Writer フィルターに定義済みのシステムプロファイルを設定します。このメソッドは非推奨です。プロファイルの設定には IConfigAsfWriter::ConfigureFilterUsingProfile メソッドを使用してください。

guidProfileGUID*inヘッダーファイル Wmsysprf.h で定義されているプロファイル GUID

戻り値

次のいずれかの HRESULT 値を返します。

戻り値 説明
S_OK
成功しました。
E_FAIL
プロファイルが無効です。
VFW_E_WRONG_STATE
フィルターグラフが停止しています。

解説(Remarks)

Windows Media Format 9 Series SDK 以降、新しいシステムプロファイルは定義されていません。このメソッドでは、バージョン 8(またはそれ以前)のシステムプロファイル GUID のみを使用できます。

vtbl 6 HRESULT GetCurrentProfileGuid(GUID* pProfileGuid)

GetCurrentProfileGuid メソッドは、WM ASF Writer フィルターの現在のシステムプロファイルが存在する場合、その GUID を取得します。(非推奨)

pProfileGuidGUID*outシステムプロファイルの GUID を受け取ります。

戻り値

成功した場合は S_OK を返し、それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

このメソッドは、WM ASF Writer フィルターがシステムプロファイルで構成されている場合にのみ適用されます。アプリケーションがシステムプロファイルの代わりに独自の ASF プロファイルを指定した場合(こちらが推奨されます)、プロファイル GUID は GUID_NULL になります。現在のプロファイルを取得するには、IConfigAsfWriter::GetCurrentProfile を呼び出してください。

vtbl 7 HRESULT ConfigureFilterUsingProfile(IWMProfile* pProfile)

ConfigureFilterUsingProfile メソッドは、WM ASF Writer フィルターに ASF プロファイルを設定します。このメソッドは、WM ASF Writer フィルターにプロファイルを設定するための推奨される方法です。

pProfileIWMProfile*inプロファイルの IWMProfile インターフェースへのポインター。

戻り値

次のいずれかの HRESULT 値を返します。

戻り値 説明
S_OK
成功しました。
VFW_E_WRONG_STATE
グラフが停止しています。
E_POINTER
IWMProfile インターフェースポインターが無効です。

解説(Remarks)

IWMProfile インターフェースについては、Windows Media Format SDK で説明されています。

成功した場合、このメソッドはアプリケーションに EC_GRAPH_CHANGED イベントを送信します。

vtbl 8 HRESULT GetCurrentProfile(IWMProfile** ppProfile)

GetCurrentProfile メソッドは、WM ASF Writer フィルターから現在の ASF プロファイルを取得します。

ppProfileIWMProfile**outプロファイルの IWMProfile インターフェースへのポインターを受け取ります。呼び出し側はこのインターフェースを解放する必要があります。

戻り値

成功した場合は S_OK を返し、それ以外の場合は HRESULT エラーコードを返します。

vtbl 9 HRESULT SetIndexMode(BOOL bIndexFile)

SetIndexMode メソッドは、WM ASF Writer フィルターが時間インデックス付きのファイルを作成するかどうかを制御します。

bIndexFileBOOLinインデックスモードを指定します。TRUE の場合、ファイルはインデックス付きになります。

戻り値

成功した場合は S_OK を返し、それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

既定では、WM ASF Writer フィルターは時間インデックス付きの ASF ファイルを作成します。インデックス処理はグラフが停止したときに実行されます。後処理として独自のフレームベースのインデックス作成を行いたい場合は、この動作を無効にできます。フレームインデックス付きのファイルを作成するには、SetIndexMode を値 FALSE で呼び出してファイルを作成し、その後 Windows Media Format SDK のメソッドを使用してファイルのフレームベースのインデックスを作成します。

vtbl 10 HRESULT GetIndexMode(BOOL* pbIndexFile)

GetIndexMode メソッドは、現在のインデックスモードを取得します。

pbIndexFileBOOL*outインデックスモードの設定を受け取ります。TRUE の値は、WM ASF Writer がインデックス付きファイルを書き込むように構成されていることを示します。

戻り値

成功した場合は S_OK を返し、それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

WM ASF Writer が現在インデックス付き ASF ファイルを書き込むように構成されているかどうかを判断するには、このメソッドを使用します。詳細については、IConfigAsfWriter::SetIndexMode を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IConfigAsfWriter "{45086030-F7E4-486A-B504-826BB5792A3B}"
#usecom global IConfigAsfWriter IID_IConfigAsfWriter "{}"
#comfunc global IConfigAsfWriter_ConfigureFilterUsingProfileId    3 int
#comfunc global IConfigAsfWriter_GetCurrentProfileId              4 var
#comfunc global IConfigAsfWriter_ConfigureFilterUsingProfileGuid  5 var
#comfunc global IConfigAsfWriter_GetCurrentProfileGuid            6 var
#comfunc global IConfigAsfWriter_ConfigureFilterUsingProfile      7 sptr
#comfunc global IConfigAsfWriter_GetCurrentProfile                8 sptr
#comfunc global IConfigAsfWriter_SetIndexMode                     9 int
#comfunc global IConfigAsfWriter_GetIndexMode                     10 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。