Microsoft DirectX 8.0 |
IConfigAsfWriter インターフェイスは、DirectShow ASF ライタ フィルタによって実装され、フィルタがファイルを書き込むときに使用する ASF (Advanced Streaming Format) プロファイルの取得や設定を行うメソッドを備えている。
作成された ASF ライタ フィルタには、入力されるストリームに基づいて、自動的にデフォルトの ASF オーディオビジュアル プロファイルが設定される。profile には、ビット レート、ストリームの数と種類、圧縮品質など、ASF ファイルのさまざまな属性が記述されている。フィルタはプロファイルを使って、どの種類の ASF ファイルを書き込むか、いくつの入力ピンを設定する必要があるか、どのメディア タイプが受け入れられるかを判断する。ほとんどの場合はデフォルトのプロファイルが使えるが、使えない場合、アプリケーションは、フィルタの IConfigAsfWriter インターフェイス メソッドを使ってプロファイルを変更できる。ASF プロファイルの詳細については、『Microsoft® Windows Media Software Development Kit (SDK)』を参照すること。ASF ファイルの書き方については、「DirectShow での ASF ファイルの作成」を参照すること。
要件
Dshowasf.h、Windows Media Format SDK が必要である。
vtable 順のメソッド
IUnknown メソッド 説明 QueryInterface サポートされているインターフェイスへのポインタを取得する。 AddRef 参照カウントをインクリメントする。 Release 参照カウントをデクリメントする。 IConfigAsfWriter メソッド 説明 ConfigureFilterUsingProfileId システム プロファイル リストのプロファイル識別子 (ID) インデックスを付けて ASF ファイルを書き込むようにフィルタを設定する (Windows Media Format 4.0 プロファイルのみ)。 GetCurrentProfileId 現在の ASF プロファイル ID を取得する (Windows Media Format 4.0 プロファイルのみ)。 ConfigureFilterUsingProfileGuid 指定された定義済みの Windows Media Format SDK プロファイル GUID に基づいて ASF ファイルを書き込むようにフィルタを設定する。 GetCurrentProfileGuid Windows Media Format SDK によって定義されている現在の ASF プロファイル GUID を取得する。 ConfigureFilterUsingProfile 指定されたアプリケーション定義のプロファイルに基づいて ASF ファイルを書き込むようにフィルタを設定する。 GetCurrentProfile アプリケーション定義の ASF プロファイルを取得する。 SetIndexMode ファイルにインデックスを付けて、ファイルをシークできるようにするかどうかをアプリケーションが制御できるようにする。 GetIndexMode 現在のインデックス モードを取得する。
指定されたアプリケーション定義のプロファイルに基づいて ASF ファイルを書き込むようにフィルタを設定する。
構文
HRESULT ConfigureFilterUsingProfile( IWMProfile *pProfile );
パラメータ
- pProfile
- [in] アプリケーション定義のプロファイルへの IWMProfile インターフェイス ポインタ。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_WRONG_STATE グラフが停止している。 E_POINTER IWMProfile インターフェイス ポインタが無効である。
注意
IWMProfile は Windows Media Format SDK で定義されている。
成功すると、このメソッドは、アプリケーションに EC_GRAPH_CHANGED イベント通知が送られるようにする。
指定された定義済みのプロファイルに基づいて ASF ファイルを書き込むようにフィルタを設定する。
構文
HRESULT ConfigureFilterUsingProfileGuid( REFGUID guidProfile );
パラメータ
- guidProfile
- [in] Windows Media Format SDK ヘッダー ファイル Wmsysprf.h で定義されているプロファイル GUID。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_FAIL プロファイルが無効である。 VFW_E_WRONG_STATE フィルタ グラフが停止している。
システム プロファイル リストのプロファイル識別子 (ID) インデックスを付けて ASF ファイルを書き込むようにフィルタを設定する (Windows Media Format 4.0 プロファイルのみ)。
構文
HRESULT ConfigureFilterUsingProfileId( DWORD dwProfileId );
パラメータ
- dwProfileId
- [in] Windows Media Format SDK で定義されているプロファイル ID。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_FAIL プロファイルが無効である。 VFW_E_WRONG_STATE フィルタ グラフが停止している。
注意
このメソッドは、version 4.0 の Windows Media Format SDK プロファイルを想定しているため、使わない。version 7.0 以降のフィルタを設定するためには、ConfigureFilterUsingProfile または ConfigureFilterUsingProfileGuid を使用する。
アプリケーション定義の ASF プロファイルを取得する。
構文
HRESULT GetCurrentProfile( IWMProfile **ppProfile );
パラメータ
- ppProfile
- [out] アプリケーション定義のプロファイルへの IWMProfile インターフェイス ポインタを受け取るポインタのアドレス。
戻り値
成功した場合は、S_OK を返す。それ以外の場合は、HRESULT エラー コードを返す。
注意
メソッドが成功すると、返される IWMProfile ポインタが参照カウントを残す。使用狩猟時にインターフェイスの解放に注意すること。
IConfigAsfWriter::GetCurrentProfileGuid
現在の ASF プロファイル ID を取得する。
構文
HRESULT GetCurrentProfileGuid( GUID *pProfileGuid );パラメータ
- pProfileGuid
- [out] プロファイル ID を受け取る GUID 型の変数へのポインタ。
戻り値
成功した場合は、S_OK を返す。それ以外の場合は、HRESULT エラー コードを返す。
IConfigAsfWriter::GetCurrentProfileId
現在の ASF プロファイル ID を取得する (Windows Media Format 4.0 プロファイルのみ)。
構文
HRESULT GetCurrentProfileId( DWORD *pdwProfileId );パラメータ
- pdwProfileId
- [out] 現在のプロファイル ID を受け取る DWORD 型の変数へのポインタ。
戻り値
成功した場合は、S_OK を返す。それ以外の場合は、HRESULT エラー コードを返す。
注意
このメソッドは、version 4.0 の Windows Media Format SDK プロファイルを想定しているため、使わない。version 4.0 および 7.0 以降のプロファイルを正しく識別するためには、GetCurrentProfile または GetCurrentProfileGuid を使用する。
IConfigAsfWriter::GetIndexMode
現在のインデックス モードを取得する。
構文
HRESULT GetIndexMode( BOOL *pbIndexFile );パラメータ
- pbIndexFile
- [out] インデックス モードの設定を受け取る BOOL 型の変数へのポインタ。TRUE は、ASF ライタが、インデックスの付いたファイルを書き込むように設定されていることを示す。
戻り値
成功した場合は、S_OK を返す。それ以外の場合は、HRESULT エラー コードを返す。
注意
このメソッドを使って、ASF ライタが、現在、インデックス付きの ASF ファイルを書き込むように設定されているかどうかを判別する。詳細については、「SetIndexMode」の「注意」を参照すること。
IConfigAsfWriter::SetIndexMode
ファイルにインデックスを付けて、ファイルをシークできるようにするかどうかをアプリケーションが制御できるようにする。
構文
HRESULT SetIndexMode( BOOL bIndexFile );パラメータ
- bIndexFile
- [in] BOOL 型の変数。TRUE はファイルにインデックスを付けるように指定する。
戻り値
成功した場合は、S_OK を返す。それ以外の場合は、HRESULT エラー コードを返す。
注意
ASF ライタは、デフォルトで、インデックス付きの ASF ファイルを作成する。インデックス付けは、グラフが停止したときに行われる。処理後の操作で独自にインデックス付けを行う場合は、この動作を無効にすることができる。