acmDriverPriority, fonction (msacm.h)

La fonction acmDriverPriority modifie la priorité et l’état d’un pilote ACM.

Syntaxe

MMRESULT ACMAPI acmDriverPriority(
  HACMDRIVERID hadid,
  DWORD        dwPriority,
  DWORD        fdwPriority
);

Paramètres

hadid

Gérez vers l’identificateur de pilote d’un pilote ACM installé. Si les indicateurs ACM_DRIVERPRIORITYF_BEGIN et ACM_DRIVERPRIORITYF_END sont spécifiés, ce paramètre doit être NULL.

dwPriority

Nouvelle priorité pour un identificateur de pilote ACM global. Une valeur zéro spécifie que la priorité de l’identificateur de pilote doit rester inchangée. La valeur 1 spécifie que le pilote doit être placé comme pilote de priorité de recherche la plus élevée. La valeur –1 spécifie que le pilote doit être placé comme pilote de priorité de recherche la plus basse. Les priorités sont utilisées uniquement pour les pilotes globaux.

fdwPriority

Indicateurs pour la définition des priorités des pilotes ACM. Les valeurs suivantes sont définies.

Valeur Signification
ACM_DRIVERPRIORITYF_BEGIN Les diffusions de notification de modification doivent être différées. Une application doit réactiver les diffusions de notification dès que possible avec l’indicateur ACM_DRIVERPRIORITYF_END. Notez que hadid doit être NULL, dwPriority doit être égal à zéro et que seul l’indicateur ACM_DRIVERPRIORITYF_BEGIN peut être défini.
ACM_DRIVERPRIORITYF_DISABLE Le pilote ACM doit être désactivé s’il est actuellement activé. La désactivation d’un pilote désactivé ne fait rien.
ACM_DRIVERPRIORITYF_ENABLE Le pilote ACM doit être activé s’il est actuellement désactivé. L’activation d’un pilote activé ne fait rien.
ACM_DRIVERPRIORITYF_END La tâche appelante souhaite réactiver les diffusions de notification de modification. Une application doit appeler acmDriverPriority avec ACM_DRIVERPRIORITYF_END pour chaque appel réussi avec l’indicateur ACM_DRIVERPRIORITYF_BEGIN. Notez que hadid doit être NULL, dwPriority doit être égal à zéro et que seul l’indicateur ACM_DRIVERPRIORITYF_END peut être défini.

Valeur retournée

Retourne zéro en cas de réussite ou une erreur dans le cas contraire. Les valeurs d’erreur possibles sont les suivantes.

Code de retour Description
MMSYSERR_ALLOCATED
Le verrou de diffusion différé appartient à une autre tâche.
MMSYSERR_INVALFLAG
Au moins un indicateur n’est pas valide.
MMSYSERR_INVALHANDLE
Le handle spécifié n’est pas valide.
MMSYSERR_INVALPARAM
Au moins un paramètre n’est pas valide.
MMSYSERR_NOTSUPPORTED
L’opération demandée n’est pas prise en charge pour le pilote spécifié. Par exemple, les identificateurs de pilotes locaux et de notification ne prennent pas en charge les priorités (mais peuvent être activés et désactivés). Si une application spécifie une valeur différente de zéro pour dwPriority pour les identificateurs de pilotes locaux et de notification, cette erreur est retournée.

Remarques

Tous les identificateurs de pilote peuvent être activés et désactivés, y compris les identificateurs globaux, locaux et de pilotes de notification.

Si plusieurs identificateurs de pilote globaux doivent être activés, désactivés ou déplacés en priorité, une application doit différer les diffusions de notification de modification à l’aide de l’indicateur ACM_DRIVERPRIORITYF_BEGIN. Une notification de modification unique est diffusée lorsque l’indicateur ACM_DRIVERPRIORITYF_END est spécifié.

Une application peut utiliser la fonction avec l’index de métrique acmMetrics ACM_METRIC_DRIVER_PRIORITY pour récupérer la priorité actuelle d’un pilote global. Les pilotes sont toujours énumérés de la priorité la plus élevée à la plus basse par la fonction acmDriverEnum .

Tous les identificateurs de pilotes activés recevront des notifications de modification. Une application peut inscrire un message de notification à l’aide de la fonction acmDriverAdd conjointement avec l’indicateur ACM_DRIVERADDF_NOTIFYHWND. Les modifications apportées aux identificateurs de pilotes non globaux ne seront pas diffusées.

Les priorités sont simplement utilisées pour l’ordre de recherche lorsqu’une application ne spécifie pas de pilote. L’amélioration de la priorité d’un pilote n’aura aucun effet sur les performances d’un pilote.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête msacm.h
Bibliothèque Msacm32.lib
DLL Msacm32.dll

Voir aussi

Fonctions de compression audio

Gestionnaire de compression audio