Compartir a través de


EVT_ACX_VOLUME_RETRIEVE_LEVEL función de devolución de llamada (acxelements.h)

El controlador implementa la función de devolución de llamada EVT_ACX_VOLUME_RETRIEVE_LEVEL y se llama cuando se solicita el nivel de volumen de un canal especificado en un nodo de volumen.

Sintaxis

EVT_ACX_VOLUME_RETRIEVE_LEVEL EvtAcxVolumeRetrieveLevel;

NTSTATUS EvtAcxVolumeRetrieveLevel(
  ACXVOLUME Volume,
  ULONG Channel,
  LONG *VolumeLevel
)
{...}

Parámetros

Volume

Objeto ACXVOLUME existente, inicializado. Para obtener más información sobre los objetos ACX, vea Resumen de objetos ACX.

Channel

Un ULONG que hace referencia a un canal en el nodo de volumen especificado. Si este valor es -1, hace referencia al canal maestro que establece el nivel de todos los canales del nodo de volumen.

VolumeLevel

Valor LONG que especifica el nivel de volumen de un canal en una secuencia determinada. Los valores de volumelevel usan la escala siguiente:

-2147483648 es -decibelios infinitos (atenuación),

-2147483647 es -32767.999998474 decibeles (atenuación) y

+2147483647 es +32767.99998474 decibels (ganancia).

Valor devuelto

Devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado. Para obtener más información, vea Uso de valores NTSTATUS.

Comentarios

Ejemplo

A continuación se muestra el uso de ejemplo.

typedef struct _CODEC_VOLUME_ELEMENT_CONTEXT {
    LONG            VolumeLevel[MAX_CHANNELS];
} CODEC_VOLUME_ELEMENT_CONTEXT, *PCODEC_VOLUME_ELEMENT_CONTEXT;

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(CODEC_VOLUME_ELEMENT_CONTEXT, GetCodecVolumeElementContext)

EVT_ACX_VOLUME_RETRIEVE_LEVEL       CodecR_EvtVolumeRetrieveLevel;

NTSTATUS
NTAPI
CodecR_EvtVolumeRetrieveLevel(
    _In_  ACXVOLUME Volume,
    _In_  ULONG     Channel,
    _Out_ LONG *    VolumeLevel
)
{
    PCODEC_VOLUME_ELEMENT_CONTEXT   volumeCtx;

    PAGED_CODE();

    volumeCtx = GetCodecVolumeElementContext(Volume);
    ASSERT(volumeCtx);

    if (Channel != ALL_CHANNELS_ID)
    {
        *VolumeLevel = volumeCtx->VolumeLevel[Channel];
    }
    else
    {
        *VolumeLevel = volumeCtx->VolumeLevel[0];
    }

    return STATUS_SUCCESS;
}

Requisitos de ACX

Versión mínima de ACX: 1.0

Para obtener más información sobre las versiones de ACX, consulte Introducción a la versión de ACX.

Requisitos

Requisito Valor
Header acxelements.h
IRQL PASSIVE_LEVEL

Consulte también