Condividi tramite


Metodo IAudioProcessingObject::IsInputFormatSupported (audioenginebaseapo.h)

Questo metodo negozia con il motore audio di Windows Vista per stabilire un formato di dati per il flusso di dati audio.

Sintassi

HRESULT IsInputFormatSupported(
  [in, optional]  IAudioMediaType *pOppositeFormat,
  [in, optional]  IAudioMediaType *pRequestedInputFormat,
  [out, optional] IAudioMediaType **ppSupportedInputFormat
);

Parametri

[in, optional] pOppositeFormat

Puntatore a un'interfaccia IAudioMediaType . Questo parametro viene usato per indicare il formato di output dei dati. Il valore pOppositeFormat deve essere impostato su NULL per indicare che il formato di output può essere qualsiasi tipo.

[in, optional] pRequestedInputFormat

Puntatore a un'interfaccia IAudioMediaType . Questo parametro viene usato per indicare il formato di input da verificare.

[out, optional] ppSupportedInputFormat

Questo parametro indica il formato supportato più vicino al formato da verificare.

Valore restituito

Se la chiamata è stata completata correttamente, il parametro ppSupportedInputFormat restituisce un puntatore pRequestedInputFormat e il metodo IsInputFormatSupported restituisce un valore di S_OK. In caso contrario, questo metodo restituisce uno dei codici di errore seguenti:

Codice restituito Descrizione
S_FALSE
Il formato della coppia di formato input/output non è supportato. ppSupportedInputFormat restituisce un nuovo formato suggerito.
APOERR_FORMAT_NOT_SUPPORTED
Il formato da verificare non è supportato. Il valore di ppSupportedInputFormat non cambia.
E_POINTER
Puntatore non valido passato al metodo. Il valore di ppSupportedInputFormat non cambia.
Altri valori HRESULT
Queste condizioni di errore aggiuntive vengono rilevate dal motore audio.

Commenti

Esistono differenze nell'implementazione del IsInputFormatSupported metodo in base alle diverse API. Ad esempio, con determinate implementazioni, l'output può essere di tipo float solo quando il formato di input è di tipo integer.

Per avviare la negoziazione del formato, il servizio audio imposta prima l'output dell'sAPO LFX sul formato float32 predefinito. Il servizio audio chiama quindi il metodo di LFX sAPO, suggerisce il IAudioProcessingObject::IsInputFormatSupported formato predefinito e monitora la risposta HRESULT di questo metodo. Se l'input dell'sAPO LFX può supportare il formato suggerito, restituisce S_OK, insieme a un riferimento al formato supportato. Se l'input dello sAPO LFX non può supportare il formato suggerito, restituisce S_FALSE insieme a un riferimento a un formato che corrisponde alla corrispondenza più vicina a quella suggerita. Se LFX sAPO non può supportare il formato suggerito e non ha una corrispondenza chiusa, restituisce APOERR_FORMAT_NOT_SUPPORTED. GFX sAPO funziona con il formato di output di LFX sAPO. Pertanto, L'SAPO di GFX non è coinvolto nel processo di negoziazione del formato.

Requisiti

Requisito Valore
Client minimo supportato Disponibile con Windows Vista e i sistemi operativi Windows successivi.
Piattaforma di destinazione Universale
Intestazione audioenginebaseapo.h
Libreria Audioenginebaseapo.idl
IRQL Tutti i livelli