acmStreamConvert 関数 (msacm.h)
acmStreamConvert 関数は、指定された変換ストリームに対して変換を実行するように ACM に要求します。 ストリームの開き方によっては、変換が同期または非同期になる場合があります。
構文
MMRESULT ACMAPI acmStreamConvert(
HACMSTREAM has,
LPACMSTREAMHEADER pash,
DWORD fdwConvert
);
パラメーター
has
開いている変換ストリームへのハンドル。
pash
変換のソース バッファーと変換先バッファーを記述するストリーム ヘッダーへのポインター。 このヘッダーは、 acmStreamPrepareHeader 関数を使用して以前に準備しておく必要があります。
fdwConvert
変換を実行するためのフラグ。 次の値が定義されています。
値 | 説明 |
---|---|
ACM_STREAMCONVERTF_BLOCKALIGN | ブロックの整数のみが変換されます。 変換されたデータは、ブロックアライン境界で終了します。 ブロックアライン変換先に変換するのに十分なソース データが存在しない限り、アプリケーションはストリーム上のすべての変換にこのフラグを使用する必要があります。 この場合、このフラグを指定せずに最後の変換を指定する必要があります。 |
ACM_STREAMCONVERTF_END | ACM 変換ストリームは、保留中のインスタンス データの返しを開始する必要があります。 たとえば、変換ストリームにエコー フィルター操作の終了などのインスタンス データが保持されている場合、このフラグにより、ストリームはオプションのソース データを含む残りのデータの返しを開始します。 このフラグは、ACM_STREAMCONVERTF_START フラグで指定できます。 |
ACM_STREAMCONVERTF_START | ACM 変換ストリームは、そのインスタンス データを再初期化する必要があります。 たとえば、変換ストリームにデルタや予測情報などのインスタンス データが保持されている場合、このフラグはストリームを開始の既定値に復元します。 このフラグは、ACM_STREAMCONVERTF_END フラグで指定できます。 |
戻り値
成功した場合は 0 を返し、それ以外の場合はエラーを返します。 考えられるエラー値は次のとおりです。
リターン コード | 説明 |
---|---|
|
pash で指定されたストリーム ヘッダーは現在使用中であり、再利用できません。 |
|
pash で指定されたストリーム ヘッダーは、現在、acmStreamPrepareHeader 関数によって準備されていません。 |
|
少なくとも 1 つのフラグが無効です。 |
|
指定されたハンドルが無効です。 |
|
少なくとも 1 つのパラメーターが無効です。 |
解説
acmStreamConvert に渡される前に、acmStreamPrepareHeader 関数を使用してソース バッファーと宛先バッファーを準備する必要があります。
非同期変換要求が ACM またはドライバーによって正常にキューに入れられ、その変換が後で不可能と判断された場合、 aCMSTREAMHEADER 構造体は cbDstLengthUsed メンバーがゼロに設定された状態でアプリケーションのコールバック関数にポストバックされます。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | msacm.h |
Library | Msacm32.lib |
[DLL] | Msacm32.dll |