Metodo IAudioClock::GetFrequency (audioclient.h)

Il metodo GetFrequency ottiene la frequenza del dispositivo.

Sintassi

HRESULT GetFrequency(
  [out] UINT64 *pu64Frequency
);

Parametri

[out] pu64Frequency

Puntatore a una variabile UINT64 in cui il metodo scrive la frequenza del dispositivo. Per altre informazioni, vedere la sezione Osservazioni.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Se ha esito negativo, i codici restituiti possibili includono, ma non sono limitati a, i valori visualizzati nella tabella seguente.

Codice restituito Descrizione
E_POINTER
Il parametro pu64Frequency è NULL.
AUDCLNT_E_DEVICE_INVALIDATED
Il dispositivo endpoint audio è stato scollegato o l'hardware audio o le risorse hardware associate sono state riconfigurate, disabilitate, rimosse o altrimenti non disponibili per l'uso.
AUDCLNT_E_SERVICE_NOT_RUNNING
Il servizio audio Di Windows non è in esecuzione.

Commenti

La frequenza del dispositivo è la frequenza generata dall'orologio hardware nel dispositivo audio. Questo metodo segnala la frequenza del dispositivo nelle unità compatibili con quelle della posizione del dispositivo segnalata dal metodo IAudioClock::GetPosition . Se, ad esempio, per un determinato flusso, il metodo GetPosition esprime la posizione p come offset di byte, il metodo GetFrequency esprime la frequenza f in byte al secondo. Per qualsiasi flusso, l'offset in secondi dall'inizio del flusso può sempre essere calcolato in modo affidabile come pf indipendentemente dalle unità in cui sono espresse p/ e f.

In Windows Vista la frequenza del dispositivo segnalata dalle chiamate successive a GetFrequency non cambia mai durante la durata di un flusso.

Se l'orologio generato da un dispositivo audio viene eseguito con una frequenza nominale costante, la frequenza potrebbe comunque variare leggermente nel tempo a causa della deriva o del jitter rispetto a un orologio di riferimento. L'orologio di riferimento potrebbe essere un orologio a parete o l'orologio di sistema usato dalla funzione QueryPerformanceCounter . Il metodo GetFrequency ignora tali variazioni e segnala semplicemente una frequenza costante. Tuttavia, la posizione segnalata dal metodo IAudioClient::GetPosition prende in considerazione tutte queste varianti per segnalare un valore di posizione accurato ogni volta che viene chiamato. Per altre informazioni su QueryPerformanceCounter, vedere la documentazione di Windows SDK.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione audioclient.h

Vedi anche

Interfaccia IAudioClock

IAudioClock::GetPosition