Partager via


Méthode IAudioClient ::SetEventHandle (audioclient.h)

La méthode SetEventHandle définit le handle d’événement que le système signale lorsqu’une mémoire tampon audio est prête à être traitée par le client.

Syntaxe

HRESULT SetEventHandle(
  [in] HANDLE eventHandle
);

Paramètres

[in] eventHandle

Handle d’événement.

Valeur retournée

Si la méthode réussit, retourne S_OK. En cas d’échec, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.

Code de retour Description
E_INVALIDARG
Parameter eventHandle est NULL ou un handle non valide.
AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED
Le flux audio n’a pas été initialisé pour la mise en mémoire tampon pilotée par les événements.
AUDCLNT_E_NOT_INITIALIZED
Le flux audio n’a pas été correctement initialisé.
AUDCLNT_E_DEVICE_INVALIDATED
Le périphérique de point de terminaison audio a été débranché, ou le matériel audio ou les ressources matérielles associées ont été reconfigurés, désactivés, supprimés ou autrement rendus indisponibles.
AUDCLNT_E_SERVICE_NOT_RUNNING
Le service audio Windows n’est pas en cours d’exécution.

Remarques

Cette méthode nécessite une initialisation préalable de l’interface IAudioClient . Tous les appels à cette méthode échouent avec l’erreur AUDCLNT_E_NOT_INITIALIZED jusqu’à ce que le client initialise le flux audio en appelant correctement la méthode IAudioClient ::Initialize .

Pendant l’initialisation du flux, le client peut, en option, activer la mise en mémoire tampon pilotée par les événements. Pour ce faire, le client appelle la méthode IAudioClient ::Initialize avec l’indicateur AUDCLNT_STREAMFLAGS_EVENTCALLBACK défini. Après avoir activé la mise en mémoire tampon pilotée par les événements et avant d’appeler la méthode IAudioClient ::Start pour démarrer le flux, le client doit appeler SetEventHandle pour inscrire le handle d’événement que le système signalera chaque fois qu’une mémoire tampon est prête à être traitée par le client.

Le handle d’événement doit être dans l’état non signé au moment où le client appelle la méthode Start .

Si le client a activé la mise en mémoire tampon pilotée par les événements d’un flux, mais que le client appelle la méthode Start pour ce flux sans appeler d’abord SetEventHandle, l’appel de démarrage échoue et retourne un code d’erreur.

Si le client n’active pas la mise en mémoire tampon pilotée par les événements d’un flux, mais tente de définir un handle d’événement pour le flux en appelant SetEventHandle, l’appel échoue et retourne un code d’erreur.

Pour obtenir un exemple de code qui appelle la méthode SetEventHandle , consultez Flux en mode exclusif.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête audioclient.h

Voir aussi

IAudioClient, interface

IAudioClient ::Initialize

IAudioClient ::Start