Metodo IAudioClient::SetEventHandle (audioclient.h)
Il metodo SetEventHandle imposta l'handle di evento che il sistema segnala quando un buffer audio è pronto per l'elaborazione da parte del client.
Sintassi
HRESULT SetEventHandle(
[in] HANDLE eventHandle
);
Parametri
[in] eventHandle
Handle dell'evento.
Valore restituito
Se il metodo ha esito positivo, viene restituito S_OK. Se ha esito negativo, i possibili codici restituiti includono, ma non sono limitati, i valori illustrati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
EventHandle del parametro è NULL o un handle non valido. |
|
Il flusso audio non è stato inizializzato per il buffering basato su eventi. |
|
Il flusso audio non è stato inizializzato correttamente. |
|
Il dispositivo endpoint audio è stato scollegato oppure l'hardware audio o le risorse hardware associate sono state riconfigurate, disabilitate, rimosse o altrimenti non disponibili per l'uso. |
|
Il servizio audio di Windows non è in esecuzione. |
Commenti
Questo metodo richiede l'inizializzazione precedente dell'interfaccia IAudioClient . Tutte le chiamate a questo metodo avranno esito negativo con l'errore AUDCLNT_E_NOT_INITIALIZED finché il client non inizializza il flusso audio chiamando correttamente il metodo IAudioClient::Initialize .
Durante l'inizializzazione del flusso, il client può, come opzione, abilitare il buffer basato su eventi. A tale scopo, il client chiama il metodo IAudioClient::Initialize con il flag AUDCLNT_STREAMFLAGS_EVENTCALLBACK impostato. Dopo aver abilitato il buffer guidato dagli eventi e prima di chiamare il metodo IAudioClient::Start per avviare il flusso, il client deve chiamare SetEventHandle per registrare l'handle di evento che il sistema segnalerà ogni volta che un buffer diventa pronto per l'elaborazione da parte del client.
L'handle eventi deve trovarsi nello stato non assegnato al momento in cui il client chiama il metodo Start .
Se il client ha abilitato il buffering basato su eventi di un flusso, ma il client chiama il metodo Start per tale flusso senza prima chiamare SetEventHandle, la chiamata Start avrà esito negativo e restituirà un codice di errore.
Se il client non abilita il buffer guidato dagli eventi di un flusso ma tenta di impostare un handle di evento per il flusso chiamando SetEventHandle, la chiamata avrà esito negativo e restituirà un codice di errore.
Per un esempio di codice che chiama il metodo SetEventHandle , vedere Flussi in modalità esclusiva.
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 |