IAudioProcessingObject::IsInputFormatSupported-Methode (audioenginebaseapo.h)
Diese Methode verhandelt mit der Windows Vista-Audio-Engine, um ein Datenformat für den Datenstrom von Audiodaten einzurichten.
Syntax
HRESULT IsInputFormatSupported(
[in, optional] IAudioMediaType *pOppositeFormat,
[in, optional] IAudioMediaType *pRequestedInputFormat,
[out, optional] IAudioMediaType **ppSupportedInputFormat
);
Parameter
[in, optional] pOppositeFormat
Ein Zeiger auf eine IAudioMediaType-Schnittstelle . Dieser Parameter wird verwendet, um das Ausgabeformat der Daten anzugeben. Der Wert von pOppositeFormat muss auf NULL festgelegt werden, um anzugeben, dass das Ausgabeformat ein beliebiger Typ sein kann.
[in, optional] pRequestedInputFormat
Ein Zeiger auf eine IAudioMediaType-Schnittstelle . Dieser Parameter wird verwendet, um das zu überprüfende Eingabeformat anzugeben.
[out, optional] ppSupportedInputFormat
Dieser Parameter gibt das unterstützte Format an, das dem zu überprüfenden Format am nächsten kommt.
Rückgabewert
Wenn der Aufruf erfolgreich abgeschlossen wurde, gibt der ppSupportedInputFormat-Parameter einen pRequestedInputFormat-Zeiger zurück, und die IsInputFormatSupported-Methode gibt den Wert S_OK zurück. Andernfalls gibt diese Methode einen der folgenden Fehlercodes zurück:
Rückgabecode | Beschreibung |
---|---|
|
Das Format des Ein-/Ausgabeformatpaars wird nicht unterstützt. ppSupportedInputFormat gibt ein vorgeschlagenes neues Format zurück. |
|
Das zu überprüfende Format wird nicht unterstützt. Der Wert von ppSupportedInputFormat ändert sich nicht. |
|
Ungültiger Zeiger, der an die -Methode übergeben wird. Der Wert von ppSupportedInputFormat ändert sich nicht. |
|
Diese zusätzlichen Fehlerbedingungen werden von der Audio-Engine nachverfolgt. |
Hinweise
Es gibt Unterschiede in der Implementierung der IsInputFormatSupported
Methode durch die verschiedenen APOs. Bei bestimmten Implementierungen kann die Ausgabe beispielsweise nur vom Typ float sein, wenn das Eingabeformat vom Typ Integer ist.
Zum Initiieren der Formataushandlung legt der Audiodienst zunächst die Ausgabe des LFX sAPO auf das standardmäßige float32-basierte Format fest. Der Audiodienst ruft dann die IAudioProcessingObject::IsInputFormatSupported
Methode des LFX sAPO auf, schlägt das Standardformat vor und überwacht die HRESULT-Antwort dieser Methode. Wenn die Eingabe des LFX sAPO das vorgeschlagene Format unterstützen kann, gibt sie S_OK zusammen mit einem Verweis auf das unterstützte Format zurück. Wenn die Eingabe des LFX sAPO das vorgeschlagene Format nicht unterstützen kann, gibt sie S_FALSE zusammen mit einem Verweis auf ein Format zurück, das dem vorgeschlagenen Format am nächsten entspricht. Wenn der LFX sAPO das vorgeschlagene Format nicht unterstützen kann und keine enge Übereinstimmung aufweist, wird APOERR_FORMAT_NOT_SUPPORTED zurückgegeben. Der GFX sAPO arbeitet mit dem Ausgabeformat des LFX sAPO. Daher ist die GFX sAPO nicht am Formatverhandlungsprozess beteiligt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar mit Windows Vista und höheren Windows-Betriebssystemen. |
Zielplattform | Universell |
Header | audioenginebaseapo.h |
Bibliothek | Audioenginebaseapo.idl |
IRQL | Alle Ebenen |