функция обратного вызова EVT_ACX_VOLUME_RETRIEVE_LEVEL (acxelements.h)
Функция обратного вызова EVT_ACX_VOLUME_RETRIEVE_LEVEL реализуется драйвером и вызывается при запросе уровня тома указанного канала на узле тома.
Синтаксис
EVT_ACX_VOLUME_RETRIEVE_LEVEL EvtAcxVolumeRetrieveLevel;
NTSTATUS EvtAcxVolumeRetrieveLevel(
ACXVOLUME Volume,
ULONG Channel,
LONG *VolumeLevel
)
{...}
Параметры
Volume
Существующий инициализированный объект ACXVOLUME. Дополнительные сведения об объектах ACX см. в разделе Сводка по объектам ACX.
Channel
ULONG, ссылающийся на канал на указанном узле тома. Если это значение равно -1, оно ссылается на канал master, который задает уровень для всех каналов на узле тома.
VolumeLevel
Значение LONG, указывающее уровень громкости канала в заданном потоке. Значения volumelevel используют следующую шкалу:
-2147483648 является децибелами -бесконечности (затухание),
-2147483647 имеет значение -32767,99998474 децибел (затухание) и
+2147483647 равно +32767.99998474 децибел (коэффициент увеличения).
Возвращаемое значение
Возвращает значение STATUS_SUCCESS
, если вызов был выполнен успешно. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в разделе Использование значений NTSTATUS.
Remarks
Пример
Ниже приведен пример использования.
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;
}
Требования к ACX
Минимальная версия ACX: 1.0
Дополнительные сведения о версиях ACX см. в статье Обзор версий ACX.
Требования
Требование | Значение |
---|---|
Заголовок | acxelements.h |
IRQL | PASSIVE_LEVEL |