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 旗標來指定這個旗標。 |
傳回值
如果成功或發生錯誤,則傳回零。 可能的錯誤值包括下列專案。
傳回碼 | 描述 |
---|---|
|
pash中指定的資料流程標頭目前正在使用中,無法重複使用。 |
|
pash中指定的資料流程標頭目前不是由 acmStreamPrepareHeader 函式所準備。 |
|
至少有一個旗標無效。 |
|
指定的控制碼無效。 |
|
至少有一個參數無效。 |
備註
您必須使用 acmStreamPrepareHeader 函 式來準備來源和目的地緩衝區,再將它們傳遞至 acmStreamConvert。
如果 ACM 或驅動程式成功將非同步轉換要求排入佇列,且稍後判定無法轉換, 則 ACMSTREAMHEADER 結構會張貼回應用程式的回呼函式,並將 cbDstLengthUsed 成員設定為零。
需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | msacm.h |
程式庫 | Msacm32.lib |
Dll | Msacm32.dll |