acmStreamConvert-Funktion (msacm.h)
Die Funktion acmStreamConvert fordert den ACM auf, eine Konvertierung für den angegebenen Konvertierungsdatenstrom durchzuführen. Eine Konvertierung kann synchron oder asynchron sein, je nachdem, wie der Stream geöffnet wurde.
Syntax
MMRESULT ACMAPI acmStreamConvert(
HACMSTREAM has,
LPACMSTREAMHEADER pash,
DWORD fdwConvert
);
Parameter
has
Handle mit dem geöffneten Konvertierungsstream.
pash
Zeiger auf einen Streamheader, der Quell- und Zielpuffer für eine Konvertierung beschreibt. Dieser Header muss zuvor mithilfe der Funktion acmStreamPrepareHeader vorbereitet worden sein.
fdwConvert
Flags für die Konvertierung. Die folgenden Werte werden definiert.
Wert | Bedeutung |
---|---|
ACM_STREAMCONVERTF_BLOCKALIGN | Es werden nur integrale Zahlen von Blöcken konvertiert. Konvertierte Daten enden auf blockbündigen Grenzen. Eine Anwendung sollte dieses Flag für alle Konvertierungen in einem Stream verwenden, bis nicht genügend Quelldaten zum Konvertieren in ein blockorientiertes Ziel vorhanden sind. In diesem Fall sollte die letzte Konvertierung ohne dieses Flag angegeben werden. |
ACM_STREAMCONVERTF_END | Der ACM-Konvertierungsstream sollte damit beginnen, ausstehende instance Daten zurückzugeben. Wenn ein Konvertierungsdatenstrom beispielsweise instance Daten enthält, z. B. das Ende eines Echofiltervorgangs, führt dieses Flag dazu, dass der Stream diese verbleibenden Daten mit optionalen Quelldaten zurückgibt. Dieses Flag kann mit dem ACM_STREAMCONVERTF_START-Flag angegeben werden. |
ACM_STREAMCONVERTF_START | Der ACM-Konvertierungsdatenstrom sollte seine instance Daten neu initialisieren. Wenn ein Konvertierungsdatenstrom beispielsweise instance Daten enthält, z. B. Delta- oder Prädiktorinformationen, wird der Stream mit diesem Flag auf die Startstandardwerte wiederhergestellt. Dieses Flag kann mit dem ACM_STREAMCONVERTF_END-Flag angegeben werden. |
Rückgabewert
Gibt null zurück, wenn der Vorgang erfolgreich war oder andernfalls ein Fehler. Mögliche Fehlerwerte sind:
Rückgabecode | Beschreibung |
---|---|
|
Der in pash angegebene Streamheader wird derzeit verwendet und kann nicht wiederverwendet werden. |
|
Der in pash angegebene Streamheader wird derzeit nicht von der Funktion acmStreamPrepareHeader vorbereitet. |
|
Mindestens ein Flag ist ungültig. |
|
Das angegebene Handle ist ungültig. |
|
Mindestens ein Parameter ist ungültig. |
Hinweise
Sie müssen die acmStreamPrepareHeader-Funktion verwenden, um die Quell- und Zielpuffer vorzubereiten, bevor sie an acmStreamConvert übergeben werden.
Wenn eine asynchrone Konvertierungsanforderung erfolgreich vom ACM oder Treiber in die Warteschlange gestellt wird und die Konvertierung später als unmöglich befunden wird, wird die ACMSTREAMHEADER-Struktur zurück an die Rückruffunktion der Anwendung gesendet, wobei der cbDstLengthUsed-Member auf 0 festgelegt ist.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | msacm.h |
Bibliothek | Msacm32.lib |
DLL | Msacm32.dll |