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
S_FALSE
Das Format des Ein-/Ausgabeformatpaars wird nicht unterstützt. ppSupportedInputFormat gibt ein vorgeschlagenes neues Format zurück.
APOERR_FORMAT_NOT_SUPPORTED
Das zu überprüfende Format wird nicht unterstützt. Der Wert von ppSupportedInputFormat ändert sich nicht.
E_POINTER
Ungültiger Zeiger, der an die -Methode übergeben wird. Der Wert von ppSupportedInputFormat ändert sich nicht.
Andere HRESULT-Werte
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