Compartir a través de


Función acmDriverPriority (msacm.h)

La función acmDriverPriority modifica la prioridad y el estado de un controlador ACM.

Sintaxis

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

Parámetros

hadid

Identificador del controlador de un controlador ACM instalado. Si se especifican las marcas ACM_DRIVERPRIORITYF_BEGIN y ACM_DRIVERPRIORITYF_END, este parámetro debe ser NULL.

dwPriority

Nueva prioridad para un identificador de controlador ACM global. Un valor cero especifica que la prioridad del identificador del controlador debe permanecer sin cambios. Un valor de 1 especifica que el controlador debe colocarse como el controlador de prioridad de búsqueda más alta. Un valor de –1 especifica que el controlador debe colocarse como el controlador de prioridad de búsqueda más bajo. Las prioridades solo se usan para los impulsores globales.

fdwPriority

Marcas para establecer prioridades de los controladores de ACM. Se definen los valores siguientes.

Valor Significado
ACM_DRIVERPRIORITYF_BEGIN Las difusiones de notificación de cambios deben aplazarse. Una aplicación debe volver a habilitar las difusiones de notificación lo antes posible con la marca ACM_DRIVERPRIORITYF_END. Tenga en cuenta que hadid debe ser NULL, dwPriority debe ser cero y solo se puede establecer la marca ACM_DRIVERPRIORITYF_BEGIN.
ACM_DRIVERPRIORITYF_DISABLE El controlador ACM debe deshabilitarse si está habilitado actualmente. Deshabilitar un controlador deshabilitado no hace nada.
ACM_DRIVERPRIORITYF_ENABLE El controlador ACM debe estar habilitado si está deshabilitado actualmente. La habilitación de un controlador habilitado no hace nada.
ACM_DRIVERPRIORITYF_END La tarea de llamada quiere volver a habilitar las difusiones de notificación de cambios. Una aplicación debe llamar a acmDriverPriority con ACM_DRIVERPRIORITYF_END para cada llamada correcta con la marca ACM_DRIVERPRIORITYF_BEGIN. Tenga en cuenta que hadid debe ser NULL, dwPriority debe ser cero y solo se puede establecer la marca ACM_DRIVERPRIORITYF_END.

Valor devuelto

Devuelve cero si es correcto o si se produce un error de lo contrario. Entre los posibles valores de error se incluyen los siguientes.

Código devuelto Descripción
MMSYSERR_ALLOCATED
El bloqueo de difusión diferido es propiedad de una tarea diferente.
MMSYSERR_INVALFLAG
Al menos una marca no es válida.
MMSYSERR_INVALHANDLE
El identificador especificado no es válido.
MMSYSERR_INVALPARAM
Al menos un parámetro no es válido.
MMSYSERR_NOTSUPPORTED
La operación solicitada no se admite para el controlador especificado. Por ejemplo, los identificadores de controlador locales y de notificación no admiten prioridades (pero se pueden habilitar y deshabilitar). Si una aplicación especifica un valor distinto de cero para dwPriority para identificadores de controlador locales y de notificación, se devolverá este error.

Comentarios

Todos los identificadores de controlador se pueden habilitar y deshabilitar, incluidos los identificadores globales, locales y de controlador de notificación.

Si es necesario habilitar, deshabilitar o cambiar de prioridad más de un identificador de controlador global, una aplicación debe aplazar las difusiones de notificación de cambios mediante la marca ACM_DRIVERPRIORITYF_BEGIN. Una única notificación de cambio se difundirá cuando se especifique la marca ACM_DRIVERPRIORITYF_END.

Una aplicación puede usar la función con acmMetrics ACM_METRIC_DRIVER_PRIORITY índice de métricas para recuperar la prioridad actual de un controlador global. Los controladores siempre se enumeran de mayor a menor prioridad mediante la función acmDriverEnum .

Todos los identificadores de controlador habilitados recibirán notificaciones de cambio. Una aplicación puede registrar un mensaje de notificación mediante la función acmDriverAdd junto con la marca ACM_DRIVERADDF_NOTIFYHWND. Los cambios en los identificadores de controlador no global no se difundirán.

Las prioridades se usan simplemente para el orden de búsqueda cuando una aplicación no especifica un controlador. Aumentar la prioridad de un controlador no tendrá ningún efecto en el rendimiento de un controlador.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado msacm.h
Library Msacm32.lib
Archivo DLL Msacm32.dll

Consulte también

Funciones de compresión de audio

Administrador de compresión de audio